pingでサーバーとの疎通確認をしたかったので、簡単なバッチを作成。
ping.bat
@echo off
ping 127.0.0.1
if %ERRORLEVEL%==1 (
echo "ping error"
)
pause
exit
すると何故か以下のように無限ループ…。
ping 127.0.0.1
ping 127.0.0.1
ping 127.0.0.1
ping 127.0.0.1
ping 127.0.0.1
ping 127.0.0.1
なぜこうなるかというと、ファイル名が「ping.bat」となっていたことが原因。
windows標準の設定ではコマンドの優先順位が .bat > .exe となっているため、ひたすら自分自身を参照することになるらしい。
ファイル名とコマンドを同じ名前にするのは避けましょう。