大家好,我是老盖,首先感谢观看本文,本篇文章做的有视频,视频讲述的比较详细,也可以看我发布的视频。
今天和大家分享一个批量ping ip的批处理,网上比较常见能下载到的,是串行的方式ping脚本,ping完一个继续下一个,串行的方式有一些确定,所以我另外写了一个并行的ping的方式,可以同时ping,我先把这两种方式代码贴出来,然后一一的讲解一下。
main.bat
rem 并行方式
for /f %%i in (ip.txt) do start save.bat %%i
pause
exit
rem 串行方式
for /f %%i in (ip.txt) do ping %%i >> %%i.txt
pause
exit
save.bat
ping %1 -t >> %1.txt
exit
批量ping ip,我们一般使用一个ip文件ip.txt,里边写入多行ip或者域名,我这里添加了三行,有域名和ip,一会分别测试一下。
先讲解一下串行的方式,在主批处理中,先用for命令读取ip文件,把每一行的ip或者域名,保存到变量i,然后执行ping这个命令,ping这个i变量,并使用>>把ping的输出结果保存到文件,文件名用的是变量加上.txt文件,运行这个批处理看一下效果,关于for命令和>>等一些命令我单独发布的也有文章和视频,有兴趣的朋友可以看看。
这个就是运行后的bat批处理的窗口,它会一次ping每一个域名ip并把输出保存到文件,执行完一个,再执行第二个,依次执行ping,这个bat脚本是串行方式执行。
能看到当前目录桌面生成了三个文件是以ip域名加.txt命名的文件,串行方式有一个缺点,ping命令不能用参数-t,而且当多个ip域名的时候,依次运行ping脚本运行速度比较慢。
我们使用并行的方式在测试一下,还是用for命令读取ip.txt每一行的ip或者域名,然后执行start命令启动一个save.bat脚本,并把变量i作为参数传递给这个脚本。
我们看一下save.bat这个子批处理脚本,这里边是一个ping命令,读取传递进来的%1参数,然后把输出保存到文件,文件名用%1加.txt作为保存,也就是ip域名.txt这样的文件名,关于start启动bat传递参数等教程资料我发布的也有文章和视频。
运行后能看到会同时出现四个窗口,一个主批处理窗口,三个ping ip域名的窗口,是同时进行的,运行速度非常快。
我们打开一个保存的文件,可以看到里边的写入数据是正常保存的。
我再测试一下加一个参数-t,它会不停止的ping,如果是串行方式,整个批处理就会停止到第一行ip域名,不会进行下去,我这个代码是并行的,所以可以正常的运行,我们运行一下。
双击运行这个批处理能看到四个窗口,其中三个窗口会一直运行,不停的ping。
打开一个文件看一下数据,文件文字和数据一直在增加。
批量ping ip这两种方式都讲解完毕,个人推荐使用并行的方式,可以一次多个ping,而且可以使用参数-t,在这个批处理的基础上,大家可还可以增加一些其他的功能,今天这个批处理脚本就讲解到这里。
感谢观看本篇文章,希望对你有所帮助,本文由老盖聊技术原创,我是老盖,专注分享IT互联网与电脑知识,欢迎关注,本文是出于爱心帮助人的目的所写,请随意分享转载,帮助人越多爱的力量就越大,感谢正能量传播。