2013-10-16 59 views
0

我有兩個文件'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" 

執行的VBScript當我嘗試執行它給我下面的錯誤

Error

這裏是我的uninstall.vbs腳本

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

回答

2

您需要更改shell對象的當前目錄。

Set Shell = CreateObject("WScript.Shell") 

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

另請參閱此Scripting Guy article

+0

@Tomalek - 只要您使用FSO的「.GetParentFolderName(WScript.ScriptFullName)」,它就會升級。 –

+0

恩,謝謝,但我真的不明白爲什麼這是必要的。替換應該完成足夠的工作,像這樣的三班輪。 – Tomalak

2

如果WScript.Shell不在shell的當前目錄(或PATH)中,它將找不到「uninstall.bat」。

低成本的補救方法是指定的完整路徑(報價!):

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

見@ Tomalek的回答,如果你的.VBS或.bat對當前目錄進一步依賴。