バッチファイル内のコマンドが実行されるまでに少し時間が必要な場合、バッチファイルを遅延させる簡単な方法がいくつかある。Windowsの古いバージョンでよく知られているsleepコマンドはWindows 10や11では使用できませんが、timeout、pause、ping、choiceコマンドを使用して、特定の秒数を待つか、ユーザーがキーを押すまで単に一時停止することができます。 このWikiHowでは、Windowsのどのバージョンでも、次のコマンドを遅延させる5つの簡単な方法を紹介します。
知っておくべきこと
- timeoutコマンドは、特定の秒数、ユーザーがキーを押すまで、または無期限に一時停止することができます。
- pause コマンドを使うと、ユーザーがキーを押すまでバッチファイルを遅らせることができ、choice コマンドを使うと、ユーザーが選択できるオプションを与えることができます。
- timeout、ping、および choice コマンドの最後に >nul を追加することで、ユーザーに遅延を示す画面上のメッセージを非表示にすることができる。
タイムアウト
-
timeout コマンドを使用して、遅延時間を秒単位で指定します。バッチファイルにtimeoutコマンドを挿入することで、処理を続行する前に、指定した秒数(またはキーが押されるまで)待つようにバッチファイルを促すことができる。 このコマンドは、.NET Frameworkを含むすべての最新バージョンのWindowsで使用できる。
- timeout /t
[/nobreak] (タイムアウト秒数) - 30秒間一時停止し、ユーザーがキー操作で一時停止を中断できないようにするには、timeout /t 30 /nobreakと入力する。
- ユーザーには、30秒間待機中、終了するにはCTRL+Cを押してください...と表示されます。
- 100秒遅延させ、ユーザーが中断できるようにするには、timeout /t 100と入力します。
- ユーザーには100秒間待機中と表示されます。
- ユーザーがキーを入力するまで無期限に遅延させるには、timeout /t -1を使います。
- ユーザーにはPress any key to continue ...と表示されます。
- 遅延中にユーザーにメッセージを表示したくない場合は、timeoutコマンドの最後に>nulを追加してください。
- timeout /t
一時停止
-
ユーザーがキーを押すまでバッチファイルを一時停止するには、pause コマンドを使用する。この単純なコマンドはフラグを必要としないので、スクリプトの任意の場所に配置し、それ以降の動作を阻止することができる。バッチファイル内でpauseコマンドが実行されると、ユーザーには、Press any key to continue .と表示される。ユーザーがキーを押すと、スクリプトが続行されます。
- バッチファイルの処理したくないセクションの直前や、続行する前にディスクを挿入するようユーザーに指示する前に、pauseを使用することができる。
- pauseで、Ctrl + Cを押してからYを押すと、バッチプログラムを完全に停止できる。
Ping
-
pingを使用すると、pingが完了するまで、スクリプトの次のコマンドを遅らせる ことができる。バッチファイルの任意の場所にpingを追加し、任意のホスト名またはIPアドレス(存在しないアドレスを含む)を入力し、次のコマンドを遅延させる時間をミリ秒単位で指定できます。また、出力を非表示にして、バックグラウンドで何が起こっているかをユーザーに見せないようにすることもできる。
-
ping /n 1 /w <タイムアウト(ミリ秒)> localhost >nul
- Pingには他にも多くの利用可能なフラグがあるが、バッチファイルを遅延させるという目的では、いくつかのフラグを使うだけでいいだろう。今回は、localhostを宛先として自分自身にpingを打つことにする。
- 10秒間静止させるには、ping /n 1 /w 10000 localhost >nul とする。
-
ping /n 1 /w <タイムアウト(ミリ秒)> localhost >nul
選択
-
ユーザーがリストから選択肢を選ぶまで遅延させるには、choiceコマンドを使う。選択肢のリストをカスタマイズしたり、YまたはNのデフォルトオプションを使用したり、あるいは選択肢をまったく表示せず、スクリプトを特定の時間遅延させることもできます。
-
選択肢 [/c [<選択肢1><選択肢2><...>]] [/n] [/cs[/n] [/cs] [/t <秒> /d <選択肢>] [/m <テキスト>] とする。
- /c <選択肢1><選択肢2><...>:作成する選択肢を指定する。選択肢にはa-z、A-Z、0-9、ASCII文字128-254を含めることができる。
- /t <秒>:このフラグを使って、デフォルトの選択肢が選択されるまで何秒待つかを指定する。この値には、0(デフォルトの選択肢が即座に選択される)から9999までの任意の数値を設定できる。
- /d <選択肢>:cで作成した選択肢リストからデフォルトの選択肢を指定する。
- /n <選択肢> (オプション): 選択肢リストを非表示にするが、ユーザーが選択できるようにする。
-
/m
(オプション): 選択肢リストの前にメッセージを表示します。このフラグを入れずに選択肢リストを非表示にしても、選択肢は表示されます。 - /cs(オプション):これは大文字と小文字に異なる機能を割り当てたい場合に重要です。
- メッセージを表示したり、ユーザーに何かを選択させたりせずに、CHOICEで遅延を作るには、rem | choice /c:AB /T:A,30 >nulを使う。このコマンドは、バッチファイルを単に30秒間遅延させ(メッセージなしで使うのと同様)、ユーザーには何も選択肢を与えず、遅延後に続行する。30を9999(秒)までの任意の値に置き換えることができる。
-
選択肢 [/c [<選択肢1><選択肢2><...>]] [/n] [/cs[/n] [/cs] [/t <秒> /d <選択肢>] [/m <テキスト>] とする。
スリープ
-
Windows XP以前を使用している場合、sleepを使って待ち時間を秒単位で指定することができる。このコマンドはWindows Vista以降の新しいバージョンのWindowsでは動作しないが、古いシステムで実行するバッチファイルに待ち時間を追加する最も簡単な方法である。
- sleep <秒
- sleepコマンドは、バッチファイルを遅延させたい秒数だけを指定する。例えば、続行する前に30秒待つには、sleep 30を使う。
コメント
最新を表示する
NG表示方式
NGID一覧