web-dev-qa-db-ja.com

バッチファイルを数秒間待機/スリープさせるにはどうすればよいですか?

私はバックグラウンドで実行する必要があるプログラムのいくつかを起動するためにバッチファイルを使います。これまで、他のスタートアップのいくつかが終了した後にpauseコマンドを使用して実行していました。 waitまたはsleepコマンドを使用したいのですが、Windows 7には含まれていないようです。

誰かがそれらのコマンドを元に戻す方法、あるいは同じ結果を達成する別の方法を知っていますか?

57
Cegorach

System32フォルダにダウンロードしてドロップできる多くのスリープユーティリティがあります。1つはsleep.exeという Windows Server 2003リソースキット で提供されています。

Pingトリックを使うこともできます。

:sleep
ping 127.0.0.1 -n 2 -w 1000 > NUL
ping 127.0.0.1 -n %1 -w 1000 > NUL

その後、バッチファイルのどこかから、そのように呼び出すことができます。

CALL :sleep 1
30
John T

timeoutコマンドを使用できます。

このユーティリティは、タイムアウトパラメータを受け入れて、指定された期間(秒単位)またはキーが押されるまで待機します。キーの押下を無視するためのパラメータも受け入れます。

たとえば、10秒間待つとします。

TIMEOUT /T 10

詳細については:

TIMEOUT /?
126
Alex S
timeout /t <seconds> /nobreak > NUL
8
Prichard

もあります

waitfor SomethingThatIsNeverHappening /t 10

これは1から99999秒の間待ちます。

6
Fowl

sleep.exeは、 Windows Server 2003リソースキットツール に含まれています。

あなたが使用することができます:

睡眠 /?
sleep seconds
sleep -mマイクロ秒

1
harrymc