【问题标题】:how to run this vbscript如何运行这个 vbscript
【发布时间】:2013-10-16 17:39:57
【问题描述】:

我有两个文件“uninstall.vbs”和“uninstall.bat”。 uninstall.vbs 脚本调用了执行卸载的uninstall.bat。这两个文件都存在于同一目录'C:\Program Files\MyApp\v1.1'

我想按以下方式执行vbscript

C:\WINDOWS\system32>wscript "C:\Program Files\MyApp\v1.1\uninstall.vbs"

当我尝试执行时,它给了我以下错误

这是我的卸载.vbs 脚本

CreateObject("Wscript.Shell").Run "uninstall.bat", 0, True

【问题讨论】:

    标签: windows batch-file vbscript


    【解决方案1】:

    你需要改变shell对象的当前目录。

    Set Shell = CreateObject("WScript.Shell")
    
    Shell.CurrentDirectory = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
    Shell.Run "uninstall.bat", 0, True
    

    另见Scripting Guy article

    【讨论】:

    • @Tomalek - 只要您使用 FSO 的“.GetParentFolderName(WScript.ScriptFullName)”,就会立即投票。
    • 嗯,谢谢,但我真的不明白为什么需要这样做。对于像这样的三衬里来说,替换应该可以很好地完成工作。
    【解决方案2】:

    如果不在 shell 的当前目录(或 PATH)中,WScript.Shell 将找不到“uninstall.bat”。

    低成本的补救措施是指定完整路径(引用!):

    CreateObject("Wscript.Shell").Run """C:\Program Files\MyApp\v1.1\uninstall.bat""", 0, True
    

    如果您的 .vbs 或 .bat 对当前目录有进一步依赖项,请参阅@Tomalek 的回答。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-19
      • 1970-01-01
      • 2022-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多