【发布时间】:2017-09-18 18:39:18
【问题描述】:
我正在使用以下 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"" "
Set oShell = CreateObject ("WScript.Shell")
oShell.Exec "cmd.exe ""C:\Program Files\NewFolder\setup.exe"" /extract:""C:\Program Files\NewFolder"" "
它不起作用。
请问这里有什么问题?
【问题讨论】:
-
执行命令离开需要使用
cmd /c -
cmd /c、cmd.exe /c或%comspec% /c中的任何一个都可以正常工作。使用/k而不是/c以防止CMD 窗口关闭,因此您可以检查命令输出。您在尝试时收到的错误消息表明,与您声称的相反,您没有将setup.exe的路径放在引号中。 -
我尝试了
/k,我收到了'C:\Program' is not recognized as as internal or external command, operable program or batch file.的消息 -
就像我说的,这只会发生在引用丢失或损坏的情况下。
-
@CodenameK 你能提供
setup.exe吗(上传到dropbox之类的)所以我们自己测试一下?
标签: vbscript cmd command-line-arguments extract