WshShell.Run
次の方法を使用してDOSコマンドを実行できます。
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);
}