範囲指定Pingバッチファイル作成の備忘録

bat/cmd

こんばんは!NAOです。ネットワークで通信を確認する時に使うのがPingというコマンドです。ネットワークエンジニアは、サーバーやパソコンにPing疎通確認を行なう作業が多いです。

範囲指定Pingバッチファイル

Pingは通常、1台ごとにPingコマンドを打つしかできませんが、今回のバッチファイルを使うと指定した範囲IPアドレス全部に1台ずつPingを飛ばすことが出来ます。

範囲指定をしてPingを作成するツールはExPingなどが有名です。Expingが使用できない場合などに使えるPing結果が分かるツールです。

範囲指定Pingバッチファイル使い方

①バッチを実行すると対話式で第1~第3オクテッドのアドレスを入力していきます。第4オクテッドで範囲(レンジ)を決めます。

Pingレンジ

②Ping 結果.txtに出力されます。ログとしても後から確認できます。

範囲指定Pingのコード

ここからは範囲指定Pingのバッチファイル作成方法です。

事前にCドライブ直下に「log」フォルダを作成してください。このバッチファイルは「log」フォルダの中にPing結果を出力します。

下記のコードをメモ帳に貼付け保存 > 拡張子は.batとして保存すれば完成です。

@echo off
echo ————————————–
echo ■Pingレンジ
echo ————————————–
echo pingを飛ばすセグメントを入力します。
rem
set /p Slt1=第1オクテッドの値:
set /p Slt2=第2オクテッドの値:
set /p Slt3=第3オクテッドの値:
echo.
echo.
set /p SEGstart=第4オクテッドのセグメント範囲の始値:
set /p SEGend=第4オクテッドのセグメント範囲の終値:
echo.
echo.
echo ping範囲 %Slt1%.%Slt2%.%Slt3%.%SEGstart% ~ %SEGend%への通信確認中
echo.
echo.
echo ■■■■■■■■■■■■■■■■■ > “C:\log\ping結果( %Slt1%.%Slt2%.%Slt3%).txt”
echo ping範囲 %Slt1%.%Slt2%.%Slt3%.%SEGstart% ~ %SEGend% >> “C:\log\ping結果(%Slt1%.%Slt2%.%Slt3%).txt”
echo ■■■■■■■■■■■■■■■■■ >> “C:\log\ping結果(%Slt1%.%Slt2%.%Slt3%).txt”
echo.
echo.
:LOOP
IF %SEGstart% GTR %SEGend% (
GOTO EXITLOOP
)
ping -n 3 %Slt1%.%Slt2%.%Slt3%.%SEGstart% >> “C:\log\ping結果(%Slt1%.%Slt2%.%Slt3%).txt”
set /A SEGstart+=1
echo.
GOTO LOOP
echo.
:EXITLOOP
find “TTL” “C:\log\ping結果(%Slt1%.%Slt2%.%Slt3%).txt” > “C:\log\ping結果OK (%Slt1%.%Slt2%.%Slt3%).txt”
echo.
pause
rem ▼▼▼ プロンプトに出力する ▼▼▼
for /f “delims=” %%a in (C:\log\ping結果OK(%Slt1%.%Slt2%.%Slt3%).txt) do (
echo %%a
)
pause
C:\log\ping結果OK(%Slt1%.%Slt2%.%Slt3%).txt
echo.
rem 処理終了
goto :eof
exit

範囲指定Pingの詳細

このバッチはPing範囲指定で疎通確認後、全ての結果をping確認.txt に出力し保存します。

その後、Ping確認.txt 内の TTL という文字列が含まれている行のみを Ping結果OK.txt へ出力します。

全部のPing結果Ping通信結果OKのみの結果の両方の結果が解ります。

Expingの方が便利かもしれないですが修正すれば色々応用が利くので使ってみてください。

それではー!

クリックしただけですぐ使用できます。

コメント

タイトルとURLをコピーしました