運維過程中,經常會遇到這樣的場景。1 服務器太多了,哪些IP用過了,哪些沒用過?;2 哪些IP地址是通的,哪些地址是不通的?3 想把ping的結果保存下來;4需要批量ping不連續的IP地址。
一個一個ping?幾百個IP地址,要讓我ping一下? 這是要整死人的節奏!!!!
給大家總結幾個簡單方法,提高運維效率。
01如何批量自動ping特定網段
在CMD命令行中輸入如下代碼:
for /L %d in (1,1,255) do ping 192.168.1.%d
- 192.168.1.%d 中的IP地址(192.168.1.)修改成你要ping的IP 地址。
- %d:是變量。
- (1,1,255):第一個1,表示起始值,這里是從1開始。第二個1,表示遞增值,也就是步長,每次在上一個的基礎上遞增多少。第三個數255,表示:結束的最后一個值。
輸入以上命令后,系統就開始自動批量ping 192.168.1.1——192.168.1.255網段內的所有IP地址。
如果步長改為3,如下效果。
for /l %d in (1,3,255) do ping 192.168.1.%d
02 把ping的結果自動保存到txt文件中
有了批量ping是挺高效的,但是ping的結果是在cmd中顯示的,窗口一關,結果就沒了,要是能把ping的結果自動保存的文件中就好了。
簡單!在上面的命令中多加幾個字符就搞定啦。 原理的話,也很簡單,>>代表輸出,把結果輸出到某個地方。
for /L %d in (1,1,255) do ping 192.168.1.%d >> results.txt
- >>代表輸出,把結果輸出到某個地方。
- results.txt是ping的結果文件名。
命令運行后,會生產results.txt文件,該文件保存了ping的結果。
生成的文件在命令行默認目錄下,一般情況下是"c:windowssystem32>"。
03 如何在ping的結果中區分出通的IP和不通的IP
能不能搞個命令執行完,把ping通的IP保存到一個txt文件中,把ping不通的IP保存到另一個txt文件中?
命令如下:
for /l %D in (1,1,255) do (ping 192.168.1.%D -n 1 && echo 192.168.1.%D>>ok.txt || echo 192.168.1.%D >>no.txt)
執行完這個命令,就能把ping通的IP和不通的IP分別保存到兩個文件里。
04 同時ping好幾個不同網段的IP,咋整?
基本條件:先整理一個文本文件,記錄所有需要ping的網段或IP。
命令如下:
for /f %d in (ip.txt) do (ping %d -n 1 && echo %d >>通.txt || echo %d >>不通.txt)
大家可以看到,多了一個ip.txt文件,這個文件是要你自己準備的哦。把你ping的地址寫到這個文件里面,代碼會自己讀取這個文件里面的ip地址,并且把結果放到兩個文件里面去。
ip.txt文件要放在在命令行cmd的默認目錄下,一般情況下是"c:windowssystem32>"。
05 ping命令的用法
以上就是IT悟道總結的批量pingIP地址的方法,當然還有其他方法,比如使用工具。
如有不同意見,歡迎發表【評論】。
喜歡就【點贊】、【轉發】+【關注】吧。
作者介紹:IT悟道,80后IT男,從事IT建設和運維10年,專注心中之道,手中之術,深耕IT、領悟大道。