バッチファイルでSleep

会社の同僚がおいらの書いたバッチを眺めて何じゃこりゃという顔をしていたのだが、Pingコマンドを使ってバッチファイルでミリタイム精度のSleepを実装するというのはあまり知られていない裏技らしい?
昔どっかの英語のサイトで見かけたような気がするのだけど探しても見つからない。
vbscriptジェネってという方法もあるけど、vbscriptのランタイムをロードする時間が必要ない分精度が高いかも。


slptest.cmd


@echo off

echo 3秒間 sleep
call :sleep 3000

echo 500ms sleep
call :sleep 500

echo 5秒間 sleep
call :sleep 5000

exit /b 0


:sleep
ping 172.31.255.254 -n 1 -w %1>\nul
goto :eof


肝心なのはpingで指定するIPアドレスに「存在しない」事がわかっているものを指定すること。