VBScript 不执行命令提示符命令?

VBScript not executing command-prompt command?

我正在使用以下 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:\Program' is not recognized as as internal or external command, operable program or batch file.

我也试过这些,

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"" "

没用。

请问这是什么问题?

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

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