バッチ ファイルに時間指定の一時停止を挿入することは可能ですか?

バッチ ファイルに時間指定の一時停止を挿入することは可能ですか?

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

関連情報