Windowsボックスで何かを自動化するバッチファイルを書き込むとき、その実行を数秒間一時停止する必要がありました(通常、テスト/待機ループで、プロセスの開始を待機しています)。当時、私が見つけた最良の解決策は、ping(私は子供ではない)を使用して目的の効果を達成しています。私はそれのより良い記述をここで見つけました、それは次のように実装された呼び出し可能な「wait.bat」を記述しています:
@ping 127.0.0.1 -n 2 -w 1000 > nul
@ping 127.0.0.1 -n %1% -w 1000> nul
次に、独自のバッチファイルにwait.batの呼び出しを含め、スリープする秒数を渡すことができます。
どうやら、Windows 2003リソースキットはUnixライクなスリープコマンドを提供します(ついに!)。それまでの間、まだWindows XP、Windows 2000または(悲しいことに)Windows NTを使用している私たちにとって、より良い方法はありますか?
受け入れられた回答のsleep.py
スクリプトを変更したので、コマンドラインで引数が渡されない場合、デフォルトで1秒になります。
import time, sys
time.sleep(float(sys.argv[1]) if len(sys.argv) > 1 else 1)
ping
コマンドでスリープをエミュレートするか、sleep
コマンドを含むWindowsリソースキットをダウンロードします。詳細はこちら:バッチファイルSLEEPコマンド