运维过程中,经常会遇到这样的场景。1 服务器太多了,哪些IP用过了,哪些没用过?;2 哪些IP地址是通的,哪些地址是不通的?3 想把ping的结果保存下来;4需要批量ping不连续的IP地址。
一个一个ping?几百个IP地址,要让我ping一下? 这是要整死人的节奏!!!!
给大家总结几个简单方法,提高运维效率。
在CMD命令行中输入如下代码:
for /L %d in (1,1,255) do ping 192.168.1.%d
输入以上命令后,系统就开始自动批量ping 192.168.1.1——192.168.1.255网段内的所有IP地址。
如果步长改为3,如下效果。
for /l %d in (1,3,255) do ping 192.168.1.%d
有了批量ping是挺高效的,但是ping的结果是在cmd中显示的,窗口一关,结果就没了,要是能把ping的结果自动保存的文件中就好了。
简单!在上面的命令中多加几个字符就搞定啦。 原理的话,也很简单,>>代表输出,把结果输出到某个地方。
for /L %d in (1,1,255) do ping 192.168.1.%d >> results.txt
命令运行后,会生产results.txt文件,该文件保存了ping的结果。
生成的文件在命令行默认目录下,一般情况下是"c:windowssystem32>"。
能不能搞个命令执行完,把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分别保存到两个文件里。
基本条件:先整理一个文本文件,记录所有需要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>"。
以上就是IT悟道总结的批量pingIP地址的方法,当然还有其他方法,比如使用工具。
如有不同意见,欢迎发表【评论】。
喜欢就【点赞】、【转发】+【关注】吧。
作者介绍:IT悟道,80后IT男,从事IT建设和运维10年,专注心中之道,手中之术,深耕IT、领悟大道。