這篇文章主要介紹了ASP移動(dòng)文件函數(shù)movefile權(quán)限不足的替代方法,本文先是介紹了一個(gè)替代方法,后又找出了實(shí)際原因,需要的朋友可以參考下
這幾天做一個(gè)項(xiàng)目,是寫(xiě)一個(gè)語(yǔ)句,將D盤(pán)的文件全部移動(dòng)到E盤(pán)去,在本地XP環(huán)境下測(cè)試是很好的。
可是放到windows 2003服務(wù)器后,提示權(quán)限不足。
我的IIS網(wǎng)站目錄放在D盤(pán),而E盤(pán)只是一個(gè)新加卷,有一些文件很大也很多,但是D盤(pán)不夠用了,所以出此下策。
百度了一下,很多這樣的問(wèn)題,無(wú)非就是增加E盤(pán)的權(quán)限啊,或者是把E盤(pán)當(dāng)作虛擬目錄。
可是都不管用,照樣提醒,唯一的區(qū)別就是我使用的是動(dòng)態(tài)卷,而XP下是基本卷,我不想改變卷盤(pán)。
最后找到了下面的辦法:
用fso的movefile會(huì)出現(xiàn)權(quán)限不足的情況,那樣代碼不能執(zhí)行。
所以 用copyfile 再deletefile 避免了不必要的麻煩。
即 :
代碼如下:
Set fso=CreateObject("scripting.filesystemobject")
fso.MoveFile "文件路徑","目標(biāo)"
這個(gè)會(huì)出現(xiàn)問(wèn)題。
用:
代碼如下:
Set fso=CreateObject("scripting.filesystemobject")
fso.CopyFile "文件路徑","目標(biāo)"
fso.DeleteFile "文件路徑"
這樣果斷解決了問(wèn)題。復(fù)制可以移動(dòng)不行。
4.30更新
后來(lái)鼓搗了一下,原來(lái)不是E盤(pán)權(quán)限的問(wèn)題,而是D盤(pán)權(quán)限的問(wèn)題,也就是IIS網(wǎng)站目錄權(quán)限的問(wèn)題。
給D盤(pán)加上Internet 來(lái)賓帳戶(hù),也就是加上以IUSR_開(kāi)頭的賬戶(hù),這個(gè)賬戶(hù)是IIS賬戶(hù)。
然后使用MoveFile就沒(méi)問(wèn)題了。
如果要移動(dòng)或者刪除一個(gè)文件,首先檢查的應(yīng)該是源文件的權(quán)限,而不是目標(biāo)文件的權(quán)限。
網(wǎng)上的教程真是害人啊。
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄