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

VBScript未执行命令提示符命令?,vbscript,cmd,command-line-arguments,extract,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

我正在使用以下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”不能识别为内部或外部命令、可操作程序或批处理文件

我也试过了,

Set oShell=CreateObject(“WScript.Shell”)
oShell.Run“cmd.exe/c”“c:\Program Files\NewFolder\setup.exe”“/extract:“c:\Program Files\NewFolder”
设置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.运行“%COMSPEC%/c setup.exe/extract:”

要执行命令并离开,您需要使用
cmd/c
cmd.exe/c
%comspec%/c
中的任何一种都可以正常工作。使用
/k
而不是
/c
来防止CMD窗口关闭,以便您可以检查命令输出。您在尝试时收到的错误消息表明,与您声称的相反,您没有将
setup.exe的路径置于引号中。我尝试了
/k
,得到的消息是
'C:\Program'未被识别为内部或外部命令、可操作程序或批处理文件。
如我所说,这只会发生在缺少或断开引用的情况下。@CodenameK您能提供
setup.exe
(将其上传到dropbox或其他地方)吗?我们将自己进行测试?效果很好。谢谢您和其他人。