
DOS バッチ ファイルに時間指定の一時停止を挿入することは可能ですか?
これは一時停止コマンドのように動作しますが、キーを押す必要はなく、X 秒後に自動的に続行されます。
答え1
非標準ソフトウェアをインストールしたくない場合に使用されている、見苦しいが伝統的な解決策は、PING を使用することです。たとえば、次のようになります。
@echo off
rem Sleep 5 seconds
ping -n 6 127.0.0.1>NUL
6 が必要なのは、最初のリクエストがほぼ即座に返され、およそ「0」秒とカウントされるため、必要な遅延を得るにはさらに x + 1 回のリクエストを送信する必要があるためです。
答え2
DOS バッチ ファイルではなく Windows バッチ ファイルについて話していると仮定します。
> timeout /?
タイムアウト[/T] タイムアウト [/NOBREAK]
説明:
このユーティリティは、指定された時間 (秒単位) または任意のキーが押されるまで待機するためのタイムアウト パラメータを受け入れます。また、キーの押下を無視するためのパラメータも受け入れます。
パラメータリスト:
/T timeout Specifies the number of seconds to wait. Valid range is -1 to 99999 seconds. /NOBREAK Ignore key presses and wait specified time. /? Displays this help message.
注記:タイムアウト値が -1 の場合、キーが押されるまで無期限に待機することを意味します。
例:
TIMEOUT /? TIMEOUT /T 10 TIMEOUT /T 300 /NOBREAK TIMEOUT /T -1
答え3
「バッチ」ファイルのことを言っているのなら、組み込みコマンドはありませんが、Win2003 リソース パックには同じ機能を持つプログラムが含まれています。詳細はこちら:http://malektips.com/xp_dos_0002.html
答え4
または、次のようにすることもできます。
@echo off
rem Sleep 5 seconds
CALL :TIMEOUT 5
ECHO Do other stuff here
GOTO :END
:TIMEOUT
ping -n %~1 -w 1 127.0.0.1>nul
EXIT /B 0
:END
pause