如何在执行期间保持VBScript命令窗口打开

时间:2011-09-23 09:02:41

标签: vbscript command-window

当我执行VBScript时,它创建的命令窗口会在用户有机会读取输出之前快速关闭。如何在不修改Windows注册表的情况下让窗口保持打开状态?

这是代码:

Set objShell = WScript.CreateObject("WScript.shell") 
objShell.Run "SyncToyCmd.exe -R", 1, True

3 个答案:

答案 0 :(得分:16)

您可以通过cmd.exe命令解释程序发送执行命令,以及暂停命令,该命令将为用户提供关闭窗口的Press any key to continue . . .提示。

objShell.run "%comspec% /c ""SyncToyCmd.exe -R & pause""", 1, True

或者为了让窗口保持活动状态,请使用/k标志而不是/c

objShell.run "%comspec% /k SyncToyCmd.exe -R", 1, True

但请注意,在手动关闭此cmd窗口之前,您的VBScript不会继续(或终止)。

%comspec%环境变量指的是根据您的操作系统打开命令解释程序的正确命令。例如,在我的XP机器上,%comspec%等于C:\WINDOWS\system32\cmd.exe

请在此处查看cmd.exe文档:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true

有关使用&&&命令分隔符的更多信息:https://support.microsoft.com/en-us/kb/279253

答案 1 :(得分:2)

假设您要保持打开的弹出命令窗口(而不是运行VBScript的命令窗口),您可以使用CMD.exe的{​​{1}}命令来实现此目的:

Pause

答案 2 :(得分:-3)

让它睡一会儿,也许告诉用户它会在5秒后关闭?

Set WScript = CreateObject("WScript.Shell") 
WScript.Sleep 5000