当我执行 VBScript 时,它创建的命令窗口会在用户有机会阅读输出之前迅速关闭。如何在不修改 Windows 注册表的情况下让窗口保持打开状态?
这是代码:
Set objShell = WScript.CreateObject("WScript.shell")
objShell.Run "SyncToyCmd.exe -R", 1, True
当我执行 VBScript 时,它创建的命令窗口会在用户有机会阅读输出之前迅速关闭。如何在不修改 Windows 注册表的情况下让窗口保持打开状态?
这是代码:
Set objShell = WScript.CreateObject("WScript.shell")
objShell.Run "SyncToyCmd.exe -R", 1, True
您可以通过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
有关在此处&
使用与&&
命令分隔符的更多信息。
假设它是您想要保持打开的弹出命令窗口(而不是运行您的 VBScript 的那个),您可以使用CMD.exe
'Pause
命令来实现这一点:
Set objShell = WScript.CreateObject("WScript.shell")
objShell.Run "cmd.exe /C ""SyncToyCmd.exe -R & Pause"" ", 1, True
让它休眠一会儿,也许告诉用户它会在 5 秒内关闭?
Set WScript = CreateObject("WScript.Shell")
WScript.Sleep 5000