很多时候我们要查看一个数字设备是否接通最简单的办法就是ping,如果有10设备,100台设备,1000台设备怎么办?一个个ping过去人都要傻掉吧。
小编最近在做一个数字可视对讲项目,碰到大量检测IP地址的问题,小编在此给大家介绍一个小技巧方便快捷。
先看代码,直接在命令行窗口输入“for /L %D in (1,1,255) do ping -n 1 192.168.1.%D”引号不要输进去如下图,IP地址段修改成你要检查的IP地址段。试试是不是很方便快捷。
但是上面代码在命令行窗口显示数量多的时候看起来也很麻烦,那么我们再升级一下,用下面的代码。
for /L %D in (1,1,255) do ping -n 1 192.168.1.%D >>a.txt
这样就会把结果导入的a.txt文件中,全部IP检查完成后打开a.txt搜索“TTL=”包含它的就是通的地址,没有包含“TTL=”的地址就是不通的。如下图
很多人要说了这样还要搜索,也不是太方便,没事小编再把代码升级一下。
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地址是不同网段的IP地址或是没有规律的IP地址怎么办,小编帮你解决。
for /f %D in (ip.txt) do (ping %D -n 1 && echo %i>>ok.txt || echo %D >>no.txt)
看见没有多了一个ip.txt文件,这个文件是要你自己准备的哦,把你ping的地址写到这个文件里面,代码会自己读取这个文件里面的ip地址,并且把结果放到两个文件里面去。这里就不给大家截图了与上图差不多。
注意上面代码生成的文件在你命令行默认目录下也就是说如果你的命令行状态是”c:windowssystem32>”那么生成的文件就在系统的system32目录下面。如果是”c:”那么文件就在C盘根目录下。这个可以根据自己的实际情况进行调整。
这个小技巧是不是很方便,大家也可以直接把代码保存为.bat格式直接在windows系统里面运行。