2016-01-06 77 views
0

我用管理員權限運行該腳本如下:爲什麼我無法刪除「程序文件」中的文件夾?

Dim FSO 
Set FSO = WScript.CreateObject("Scripting.FileSystemObject") 

Dim tempName, fullTempName, tempFolder 
tempName = FSO.GetTempName 
fullTempName = "c:\program files\" + tempName 
Set tempFolder = fso.CreateFolder(fullTempName) 
tempFolder.Attributes = 0 
tempFolder.Delete(True) 

我可以創建文件夾,但我不能刪除它。我收到錯誤消息:

Microsoft VBScript runtime error: Permission denied.

德國翻譯:

Laufzeitfehler in Microsoft VBScript: Erlaubnis verweigert.

屬性的正在重置沒有任何影響。它是繼續16(只讀)。爲什麼會發生此錯誤,我該如何解決?

+1

*「權限被拒絕」* - 似乎相當自我解釋。 – Lankymart

+0

@Lankymart不,這不是自我解釋,因爲我之前創建了一個文件。如果我沒有權限,那麼createFolder也應該失敗。 – Horcrux7

+0

沒有說你沒有權限,只是因爲你可以創建並不意味着你也可以刪除。該腳本說這是一個權限問題,因此可能引發這是一個權限問題。檢查該文件夾的NTFS權限。 – Lankymart

回答

0

我發現了下面的解決方法。我將「tempFolder.Delete」替換爲:

Dim wshShell 
Set wshShell = CreateObject("WScript.Shell") 
wshShell.Run wshShell.ExpandEnvironmentStrings("%SystemRoot%\system32\cmd.exe /c rd """ & fullTempName & """"), 0 
相關問題