Вы можете выполнять команды DOS, используя метод WshShell.Run
:
var oShell = WScript.CreateObject("WScript.Shell");
oShell.Run("timeout /t 10", 1 /* SW_SHOWNORMAL */, true /* bWaitOnReturn */);
Если вам необходимо приостановить выполнение сценария до нажатия клавиши или истечения времени ожидания, вы можете сделать это, используя метод WshShell.Popup
(диалоговое окно с параметром времени ожидания):
var oShell = WScript.CreateObject("WScript.Shell");
oShell.Popup("Click OK to continue.", 10);
Однако этот метод отображает окно сообщения и при работе в cscript.
Другой возможный подход описан в этой статье: Как я могу приостановить сценарий и затем возобновить его, когда пользователь нажимает клавишу на клавиатуре? Короче говоря, вы можете использовать WScript.StdIn
свойство для чтения непосредственно из входного потока и, таким образом, ожидания ввода. Однако чтение из входного потока не поддерживает тайм-аут и возвращается только после нажатия клавиши ENTER
(но не любой клавиши). Во всяком случае, вот пример, на всякий случай:
WScript.Echo("Press the ENTER key to continue...");
while (! WScript.StdIn.AtEndOfLine) {
WScript.StdIn.Read(1);
}