当我执行VBScript时,它创建的命令窗口会在用户有机会读取输出之前快速关闭。如何在不修改Windows注册表的情况下让窗口保持打开状态?
这是代码:
Set objShell = WScript.CreateObject("WScript.shell")
objShell.Run "SyncToyCmd.exe -R", 1, True
答案 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