VBScript没有执行命令提示命令?

时间:2017-04-21 16:52:11

标签: vbscript cmd command-line-arguments extract

我使用以下VBScript代码来提取设置文件

Set oShell = CreateObject ("WScript.Shell") 
oShell.Run "cmd.exe ""C:\Program Files\NewFolder\setup.exe"" /extract:""C:\Program Files\NewFolder"" "

在命令提示符下手动完成时,此工作正常。但是在VBScript中它只打开命令提示符,没有任何反应。

我也尝试了这个,

Set oShell = CreateObject ("WScript.Shell") 
oShell.Run "%comspec% /K ""C:\Program Files\NewFolder\setup.exe"" /extract:""C:\Program Files\NewFolder"" "

这样,它说,

  

' C:\程序'不被识别为内部或外部命令,可操作程序或批处理文件。

我也试过这些,

Set oShell = CreateObject ("WScript.Shell") 
oShell.Run "cmd.exe /c ""C:\Program Files\NewFolder\setup.exe"" /extract:""C:\Program Files\NewFolder"" "

Set oShell = CreateObject ("WScript.Shell") 
oShell.Exec "cmd.exe ""C:\Program Files\NewFolder\setup.exe"" /extract:""C:\Program Files\NewFolder"" "

它不起作用。

请问这是什么问题?

1 个答案:

答案 0 :(得分:1)

看起来您的可执行文件中的自提取程序无法处理带空格的路径。作为一种解决方法,您可以更改工作目录并在没有路径的情况下调用设置。

Set sh = CreateObject ("WScript.Shell")
sh.CurrentDirectory = "C:\Program Files\NewFolder"
sh.Run "%COMSPEC% /c setup.exe /extract:."