bat ファイルで数秒待つより良い方法はありますか?

bat ファイルで数秒待つより良い方法はありますか?

重複の可能性あり:
バッチファイルでスリープするにはどうすればいいですか?

バッチ ファイルで 1 秒間一時停止するハッカー風の方法は次のとおりです。

PING 400.500.600.700 > NUL

グーグルで検索したのですが、もっと良いものがあるかどうかわかりません。何かアイデアはありますか? :)

答え1

組み込みの choice コマンドの「default choice」および「timeout」オプションを使用して、遅延を作成できます。

@echo off
echo Hi, I'm doing some stuff
echo OK, now I need to take a breather for 5 seconds...
choice /d y /t 5 > nul
echo Times up! Here I go again...

答え2

正しいやり方は、timeoutWindows 2000 で導入されたコマンド。

30 秒待つには:

timeout /t 30

ユーザーが何らかのキーを押すとタイムアウトが中断されます。ただし、このコマンドはオプションの switch も受け入れます。これ/nobreakにより、明示的な を除いて、ユーザーが押したすべての操作が実質的に無視されますCTRL-C

timeout /t 30 /nobreak

さらに、コマンドのカウントダウンを画面に表示したくない場合は、出力を次のようにリダイレクトできますNUL

timeout /t 30 /nobreak > NUL

答え3

@echo off
echo It is time for liftoff.
timeout /t 5
echo Commencing crash sequence.
timeout /t 5

キーを押すとカウントダウンが上書きされるのが唯一の欠点です。

答え4

どうやらWindowsリソースキットにはスリープコマンドが含まれています。その他サイト選択肢を使用することもお勧めします.....

関連情報