[記事公開日]2025/10/06
⏱️ timeoutコマンドの使い方|指定秒数の待機でバッチ処理を制御する方法
もくじ
はじめに
バッチファイルやコマンド実行の中で、処理の間に「一定時間待機」したいことはよくあります。例えば、次の処理を開始する前に数秒待機させたり、ユーザーに確認の時間を与えたりするケースです。そんなときに便利なのが「timeout」コマンドです。timeoutコマンドを使うと、指定した秒数だけ処理を停止してから再開できます。
この記事では、timeoutコマンドの基本操作から応用例、pauseとの違い、実務での利用シーンや注意点まで詳しく解説します。
🛠 timeoutコマンドとは?
-
役割:指定秒数だけ待機してから次の処理へ進む
-
用途:処理の間隔調整、ユーザー確認時間の確保、リトライ制御
-
特徴:自動的に時間が経過すれば処理が進むため、ユーザー操作は不要
📌 基本的な使い方
10秒待機
timeout /t 10
-
10秒間待機してから次の処理へ進む
秒数を指定
timeout /t 5
-
5秒待機
出力例
C:\>timeout /t 5
5 秒間待機しています... キーを押すと待機が終了します。
強制的に時間まで待機させる
timeout /t 10 /nobreak
-
途中でキーを押しても待機が中断されず、必ず10秒待機する
🔍 主なオプション
-
/t <秒数>: 待機する秒数を指定 -
/nobreak: キー入力による中断を禁止 -
> nul: メッセージを非表示にする
メッセージを非表示にする例
timeout /t 5 > nul
-
5秒間無言で待機
📚 応用的な使い方
バッチ処理での間隔調整
@echo off
echo Step1: ファイルコピー
copy data.txt backup\
timeout /t 3 > nul
echo Step2: 圧縮処理
-
各処理の間に3秒の待機を挟む
ユーザー確認の猶予を与える
echo この操作を実行します。キャンセルする場合はCtrl+Cを押してください。
timeout /t 10
-
10秒間待機して、ユーザーが判断できる時間を確保
リトライ処理の制御
:retry
echo サーバーへ接続中...
ping -n 1 server.example.com > nul
if errorlevel 1 (
echo 接続失敗。5秒後に再試行します。
timeout /t 5 > nul
goto retry
)
-
接続失敗時に数秒待機してから再実行
簡易的なタイマーやカウントダウン
timeout /t 60
-
1分間待機することで、処理のインターバルやクールダウンに利用
📚 活用シーン
バッチファイルの自動化
-
利用例:複数処理の間に待機を挟む
-
効果:システムに負荷をかけすぎない
ネットワーク系スクリプト
-
利用例:接続試行の間隔を空ける
-
効果:無駄なリクエストを防止
デモや教育用途
-
利用例:説明のために一定時間止める
-
効果:見やすい進行
サーバー・サービス監視
-
利用例:一定時間ごとに状態確認を繰り返す
-
効果:簡易モニタリングスクリプトの実現
⚠️ 注意点
-
timeoutは指定秒数が最大99999秒(約27時間半)まで
-
/nobreakを付けない場合、キーを押すと待機が中断される -
自動化シナリオでは
/nobreakをつけることを推奨 -
長時間の待機はシステムのリソースを専有する可能性があるため、タスクスケジューラなどと使い分けが必要
📊 まとめ表
| コマンド | 用途 | 主な活用シーン |
|---|---|---|
| timeout /t 10 | 10秒待機 | 基本的な待機 |
| timeout /t 10 /nobreak | 中断不可で待機 | 自動処理 |
| timeout /t 5 > nul | 静かに待機 | デモや教育 |
関連記事
さいごに
「timeout」コマンドは、シンプルながらバッチ処理や自動化スクリプトにおいて欠かせない機能を提供します。指定時間待機してから処理を進めることで、柔軟な制御や安全性の高いスクリプト作成が可能です。
pauseと違い、ユーザー操作を待たずに進められる点が強みであり、特に自動化処理では不可欠なコマンドといえるでしょう。
