2016-01-06 118 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 
相关问题