2013-05-30 38 views
2

我有一個奇妙的腳本,直到它試圖刪除它創建的臨時文件,然後我得到一個Permission Denied錯誤信息。當使用ActiveX DeleteFile時,權限被拒絕

的命令很簡單:

fso.DeleteFile(tempWAVPath) 

哪裏fsoActiveXObject("Scripting.FileSystemObject")tempWAVPath是:C:\Users\XXX\AppData\Local\Temp\RandomTempName\TemporaryFile

考慮創建兩個文件夾和文件中的腳本,我很困惑,爲什麼它才獲得了權限被拒絕錯誤。

腳本正在通過管理員CMD運行和cscript

任何人有任何想法,爲什麼?

回答

0

啊!該文件是ReadOnly。通過增加固定它下面:

file = fso.GetFile(tempWAVPath) 
if(file.attributes & 1) { 
    file.attributes = file.attributes - 1 
} 
1

另一種方式來處理只讀文件是通過第二布爾參數如下:

fso.DeleteFile(tempWAVPath, true); 
+0

命令在特定的情況下,仍然不能解決我。似乎可能有某種文件鎖 - 任何方式來檢查/清除它? – Enigma

1

無論其他的答案是成功的,我在特定的文件。

然而,這沒有工作100%:

file = fso.GetFile(FILE_PATH); 
file.Delete(true);