まくろぐ

Windows のコマンドプロンプトで指定した秒数だけポーズする (timeout)

更新:
作成:

Windows 7 以降のコマンドプロンプトでは、指定した秒数だけ待機する timeout コマンドを使用できます。 ユーザーのキー入力を少しだけ待ったり、Linux の sleep コマンドと同様のことを行えます。

timeout コマンドの使用例

10 秒待つ(ユーザーのキー入力があるまで待つ)
C:\> timeout /t 10
10 秒待っています。続行するには何かキーを押してください ...
10 秒待つ(問答無用で待つ)
C:\> timeout /t 10 /nobreak
10 秒待っています。終了するには CTRL+C を押してください ...
ユーザーのキー入力があるまでずっと待つ
C:\> timeout /t -1
続行するには何かキーを押してください ...

最後のパターンは、昔からある pause コマンドの振る舞いと同じですね(出力の行末表現が微妙に異なりますけど ^^;)。

C:\> pause
続行するには何かキーを押してください . . .

ちなみに、「続行するには何かキーを押してください」の表示を抑制したいときは、次のように > nul とリダイレクトします(null じゃなくて nul なので注意)。 これは、Linux の sleep 3 と同じ振る舞いになります。

何もメッセージ表示せずに 3 秒待機
C:\> timeout /t 3 /nobreak > nul

(参考)timeout コマンドのヘルプ

C:\> timeout /?

TIMEOUT [/T] タイムアウト [/NOBREAK]

説明:
    このユーティリティでは、タイムアウトのパラメーターを指定して、一定の時間 (秒)
    が経過するまで、またはユーザーが任意のキーを押すまで、プログラムを待機
    させることができます。
    キー入力を無視するためのパラメーターを指定することもできます。

パラメーター一覧:
    /T        タイムアウト  待機する時間 (秒) を指定します。
                            有効な範囲は -1 から 99999 秒までです。

    /NOBREAK                キーが押されても無視し、指定時間待ちます。

    /?                      このヘルプを表示します。

注意: タイムアウト値 -1 は、キーが押されるまで無限に待機することを意味します。

例:
    TIMEOUT /?
    TIMEOUT /T 10
    TIMEOUT /T 300 /NOBREAK
    TIMEOUT /T -1

関連記事

まくろぐ
サイトマップまくへのメッセージ