【bat】バッチファイルで処理を一時停止する方法

バッチファイルを作成する際、処理を一時停止する必要がある場合があります。例えば、次の処理に進む前に一定の時間待機する場合です。この記事では、バッチファイルで処理を一時停止する方法をいくつか紹介します。

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

timeout コマンドを使用すると、指定した時間だけ処理を一時停止することができます。このコマンドは簡単に使用でき、以下のように書きます。

@echo off
echo 処理を5秒間停止します...
timeout /t 5 /nobreak >nul
echo 処理を再開します。
  • /t オプションは待機する秒数を指定します。
  • /nobreak オプションを指定すると、ユーザーがキーを押しても待機が中断されません。
  • >nul は出力を抑制するために使います。

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

timeout コマンドが利用できない環境では、ping コマンドを使って待機時間を設定することもできます。以下にその例を示します。

@echo off
echo 処理を5秒間停止します...
ping -n 6 127.0.0.1 >nul
echo 処理を再開します。
  • -n オプションは、指定した回数だけ ping を送信します(ここでは6回)。
  • 127.0.0.1 はループバックアドレスで、自分自身に ping を送信します。
  • >nul は出力を抑制するために使います。

timeout コマンドを使った具体例

具体的にバッチファイルで処理を3秒間停止させる方法を以下に示します。

@echo off
echo 処理を3秒間停止します...
timeout /t 3 /nobreak >nul
echo 処理を再開します。

ping コマンドを使った具体例

ping コマンドを使って10秒間処理を停止させる具体的な方法を以下に示します。

@echo off
echo 処理を10秒間停止します...
ping -n 11 127.0.0.1 >nul
echo 処理を再開します。

まとめ

バッチファイルで処理を一時停止する方法には、timeout コマンドと ping コマンドがあります。それぞれのコマンドは簡単に実装でき、システムの環境に応じて使い分けることができます。これらの方法を使って、バッチファイルの処理を柔軟に制御しましょう。