【バッチファイル】指定時間待機する方法3つ #メモ

バッチファイルを作るとき、よく忘れますので書き置きです。
pauseで処理を止めるとキー入力しないといけない為、面倒くさいときによく使います。


方法1:timeoutコマンドを使用する

@echo off
echo 方法1:timeoutコマンドを使用する
rem 処理
timeout /t 5 > nul
rem 処理完了後のメッセージ

$${\textbf{\underbar{■ 解説 ■}}}$$

  • timeout /t 5
    5秒間待機します。

  • > nul
    待機中のメッセージを抑制します。待機メッセージを表示したくない場合は入れる。


方法2:pingコマンドを使用する

@echo off
echo 方法2:pingコマンドを使用する
rem 処理
ping -n 5 127.0.0.1 > nul
rem 処理完了後のメッセージ

$${\textbf{\underbar{■ 解説 ■}}}$$

  • ping -n 5 127.0.0.1
    127.0.0.1(ループバックアドレス)を5回pingし、5秒間待機します。

  • > nul
    待機中のメッセージを抑制します。待機メッセージを表示したくない場合は入れる。


方法3:choiceコマンドを使用する

@echo off
echo 方法3:choiceコマンドを使用する
rem 処理
choice /n /t 5 /d Y > nul
rem 処理完了後のメッセージ

$${\textbf{\underbar{■ 解説 ■}}}$$

  • choice /n /t 5 /d Y
    5秒間、何も入力せずに待つ。

  • > nul
    待機中のメッセージを抑制します。
    待機メッセージを表示したくない場合は入れる。


■ 活用例 ■

概要:1時間後にコンピュータをスリープにする。

@echo off
echo 1時間後スリープ
timeout /t 3600 /NOBREAK
shutdown -h

1時間後にシャットダウンであれば『shutdown /s /t 3600』のように出来る。しかし、スリープの場合『shutdown /h /t 3600』ではうまくいかない為、timeoutなど活用する。


この記事が気に入ったらサポートをしてみませんか?