VBS:删除文件或文件夹时权限被拒绝

时间:2013-07-19 10:47:02

标签: vbscript

这是我的代码,首先检查包含安装程序的文件夹(如果找到),运行卸载并删除uninstall.exe(如果仍然存在)。最后,它删除文件夹本身。

Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set wshshell = wscript.CreateObject("WScript.Shell")
If objFSO.FolderExists("C:\Installer_3_00_00") Then 
    Set objFolder = objFSO.GetFolder("C:\Installer_3_00_00")
    if objFSO.FileExists("C:\Installer_3_00_00\uninstall.exe") Then
        Wshshell.run "C:\Installer_3_00_00\uninstall.exe -q"
    End if
    if objFSO.FileExists("C:\Installer_3_00_00\uninstall.exe") Then
        Set objFile=objFSO.GetFile("C:\Installer_3_00_00\uninstall.exe")
        objFile.Delete True
    End if
objFolder.Delete True
Else
End If 
Set objFSO = Nothing

问题是:它说Permission拒绝尝试删除文件或文件夹。我通过手动删除交叉检查,它工作。我在这个论坛中搜索过类似的问题,但没有一个能帮我解决这个问题。

任何建议将不胜感激。 感谢

P.s我尝试在这里格式化我的代码,但我仍然无法正确格式化。

1 个答案:

答案 0 :(得分:2)

您的问题很可能是由于(un)安装程序在您尝试删除时仍然运行而导致的,因为此调用:

Wshshell.run "C:\Installer_3_00_00\uninstall.exe -q"

立即返回,无需等待程序完成。将该行改为:

Wshshell.Run "C:\Installer_3_00_00\uninstall.exe -q", 0, True