How to keep the VBScript command window open during execution
Assuming that it's the popped-up command window that you want to keep open (rather than the one running your VBScript), you can use CMD.exe
's Pause
command to achieve this:
Set objShell = WScript.CreateObject("WScript.shell")
objShell.Run "cmd.exe /C ""SyncToyCmd.exe -R & Pause"" ", 1, True
You can send your execution command through the cmd.exe
command interpreter, along with a pause command which will give the user a Press any key to continue . . .
prompt to close the window.
objShell.run "%comspec% /c ""SyncToyCmd.exe -R & pause""", 1, True
Or to keep the window alive, use the /k
flag instead of /c
:
objShell.run "%comspec% /k SyncToyCmd.exe -R", 1, True
But beware, your VBScript will not continue (or terminate) until this cmd window is manually closed.
The %comspec%
environment variable refers to the correct command to open the command interpreter as per your operating system. On my XP machine, for instance, %comspec%
is equal to C:\WINDOWS\system32\cmd.exe
.
See cmd.exe
documentation here: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true
More info on the use of the &
versus the &&
command separators here.