Windows10のバッチファイルの中で、処理と処理の間に待ち時間を入れたい場合は、「timeout」コマンドを使用しますよね?今回はこれがなぜか効かない場合の対処法を紹介します。
クリックできる目次
コマンドプロンプトで「timeout」が効かない現象
具体的にどのような現象が発生したのか?というと、
次のように処理Aと処理Bの間に「timeout」コマンドを入れてバッチ処理を実施したところ、稀に「timeout」が効かない現象が発生したのです。
処理A
timeout /t 60
処理B
具体的には、処理Aが終了してから「timeout」コマンドで待つはずの60秒を待たずに処理Bが実行される現象が発生しました。
そしてこの現象は、数十回に1回程度の頻度で発生しました。
コマンドプロンプトで「timeout」が効かない対処法
「timeout」コマンドを何もオプションを指定せずに実行した場合は、実行中に何かキーが押されてしまうと待ち状態が解除されます。待ちが解除されないようにしたい場合は、「timeout」コマンドに「nobreak」オプションを追加する必要があります。
処理A
timeout /t 60 /nobreak
処理B
この「nobreak」を付けると、「timeout」コマンド実行中に、何らかのキーが押されても待ち状態が解除されなくなります。
今回の「timeout」コマンドが効かない現象は、頻度が少なく原因追及まではできておりませんが、この「nobreak」オプションを付けた後は、今のところ今回起きた問題の現象は発生しておりません。
コマンドプロンプトで「timeout」が効かないまとめ
今回は、コマンドプロンプトで「timeout」を実行したときに、なぜか効かないことがある現象の対処法を紹介しました。
全てのケースで解決できるものではありませんが、試してみる価値はありますので、お悩みの方は是非1度試してみてくださいね。
Windows10でこれだけは知っておきたい便利情報
「コスパの良いPCの選び方」「おすすめの設定や使い方は?」「重い動作を改善したい!」など、Windows10 PCを使う上で、役立つ情報を7つのカテゴリに分類してまとめました。