[ホーム] -
[バッチファイル サンプル一覧] - [ping 範囲指定 して PING を行う Windows コマンド]
Windows のコマンドで範囲を指定して順番にPINGを行うWindowsコマンドの紹介です。
標準機能のみ使用しています。とくにツールをダウンロードする必要はありません。ping の応答の有無をチェックしているのであり機器の存在を確認しているのではありません。機器が存在していてもPINGの応答を返さない場合や経路のFirewall や ルーターでpingを拒否している可能性もあります。
・ファイル内で%を記載する場合は%%と記載します。 ・先頭に@を付けることでコマンドそのものは画面に出力しません。
以下のサンプルではfor文により 192.168.11.0 〜192.168.11.0.255 の範囲で ping を送信しています。
-n オプションにより送信回数を1度のみにしています。(デフォルトは4回)
-w オプションにより
サンプルコード:
for /l %i in (0,1,255) do ping -w 1 -n 1 192.168.11.%i
以下は応答が発生した場合のみ表示するサンプルです。
応答が発生すると以下のような応答があるため、"応答"で文字列検索 (findstr) で検索することによりこのIPアドレスの応答有無を確認しています。
192.168.11.2 に ping を送信しています 32 バイトのデータ:
192.168.11.2 からの応答: バイト数 =32 時間 =72ms TTL=64
サンプルコード:
@for /l %i in (0,1,255) do @ping -w 1 -n 1 192.168.11.%i | findstr 応答
192.168.11.2 からの応答: バイト数 =32 時間 =128ms TTL=64
192.168.11.4 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.11.5 からの応答: バイト数 =32 時間 =142ms TTL=64
バッチファイル内で実行するには % を%%にします。
もし"i の使い方が誤っています。"というエラーが発生する場合は、%%にしていないのが原因と思われます。
サンプルコード:
for /l %%i in (0,1,15) do ping -w 1 -n 1 192.168.11.%%i
ファイルに保存するにはリダイレクトを使用します。以下は結果を c:\temp\pingresult.txtに保存しています。
サンプルコード:
for /l %i in (0,1,16) do @ping -w 1 -n 1 192.168.11.%i >> c:\temp\pingresult.txt
以下はサブネットと第四オクテッドを変数に入れて Ping を送信するサンプルです。サブネットアドレスはsubnet変数に値を代入しています。第四オクテッドは変数octet4に値を代入しています。
結果を errorlevel で確認しています。
サンプルコード:
@echo off
:: ping range info
SET octet4=0
SET subnet=192.168.11
:loop
SET /a octet4=%octet4%+1
ping -n 1 -w 1000 %subnet%.%octet4% >nul
IF %errorlevel%==0 echo %subnet%.%octet4%→PING OK!!!
IF %errorlevel%==1 echo %subnet%.%octet4%→PING NG!!!
IF %octet4%==16 goto :eof
GOTO loop
実行結果:
192.168.11.1→PING OK!!!
192.168.11.2→PING OK!!!
192.168.11.3→PING OK!!!
192.168.11.4→PING OK!!!
192.168.11.5→PING OK!!!
192.168.11.6→PING OK!!!
192.168.11.7→PING OK!!!
192.168.11.8→PING OK!!!
192.168.11.9→PING OK!!!
192.168.11.10→PING NG!!!
192.168.11.11→PING OK!!!
192.168.11.12→PING NG!!!
192.168.11.13→PING OK!!!
192.168.11.14→PING OK!!!
192.168.11.15→PING OK!!!
192.168.11.16→PING OK!!!
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)
[ホーム] - [バッチファイル サンプル一覧]