很多人都会遇到需要ping一个网段,看哪些IP地址有在使用的情况,网上下载的一些群PING软件要么杀毒软件报毒,要么显示结果每次不一样,于是我综合了网上各种批处理Ping命令后,自己整理了一个批处理,希望能帮助到有需要的朋友,下面我先演示使用过程,最后给出批处理代码。
1、双击运行批处理文件,会弹出一个命令窗口,要求输入IP段,如果不输入,直接按回车的话,则默认为192.168.16段。
这里我输入我的路由分配的IP段,192.168.3并按回车
2、接着会要求输入IP地址起始位,如果不输入,直接按回车的话,则默认为1。
这里我输入10
3、最后会要求输入IP地址结束位,如果不输入,直接按回车的话,则默认为255。
这里我输入40
4、开始扫描,会显示起始和结束IP地址,以确认之前没有输入错误。
运行的时候不会有其他提示,如果不许要等待完成,可以直接关闭窗口以提前结束本次扫描。
5、扫描完成后,按任意键退出,窗口会自动关闭。
6、在批处理命令文件所在的文件夹,会生成对应的文本文件,里面就有本次扫描的结果(仅记录有通的结果)
7、以下为批处理的代码全文,将其保存在文本文件中,把文本文件的后缀txt替换成bat即可。
@echo off color F0 rem 设置窗口背景色为白色,文字颜色为黑色 title 批处理扫网段(By TaoGe) rem 设置窗口标题 echo. echo 输入你要扫描的IP段,直接按回车则为192.168.16: set /p IpDuan= rem 将用户输入赋值给IpDuan变量 if "%IpDuan%"=="" (set IpDuan=192.168.16) rem 判断IpDuan变量是否赋值,如果为空,则赋值为192.168.16 echo 输入你要扫描的IP起始位,直接按回车则为1: set /p QiShi= rem 将用户输入赋值给QiShi变量 if "%QiShi%"=="" (set QiShi=1) rem 判断QiShi变量是否赋值,如果为空,则赋值为1 echo 输入你要扫描的IP结束位,直接按回车则为255: set /p JieShu= rem 将用户输入赋值给JieShu变量 if "%JieShu%"=="" (set JieShu=255) rem 判断JieShu变量是否赋值,如果为空,则赋值为255 echo 起始IP:%IpDuan%.%QiShi% rem 显示起始IP echo 结束IP:%IpDuan%.%JieShu% rem 显示结束IP echo ======================================================= Ping-%IpDuan%.txt rem 记录分割线 echo 开始时间:%date%%time% Ping-%IpDuan%.txt rem 记录开始时间 echo 起始IP:%IpDuan%.%QiShi% Ping-%IpDuan%.txt rem 记录起始IP echo 结束IP:%IpDuan%.%JieShu% Ping-%IpDuan%.txt rem 记录结束IP echo 正在扫描,请等待... echo 提前结束请直接关闭窗口 @for /l %%n in (%QiShi%,1,%JieShu%) do @ping -w 600 -n 1 %IpDuan%.%%n|find /i "ttl" Ping-%IpDuan%.txt rem 开始执行 echo 结束时间:%date% %time% Ping-%IpDuan%.txt rem 记录结束时间 echo ======================================================= Ping-%IpDuan%.txt rem 记录分割线 echo 扫描完毕,按任意键退出...&pause>nul
8、最后声明一下,本批处理是本人大量查阅了各种批处理命令后综合出来的,欢迎大家交流斧正。
9、另外,这个批处理中没有对输入的值进行判断,所以如果你随便输入的话,则不能正常运行并记录结果,切记切记。
以上就是批处理扫描网段技巧,希望大家喜欢,请继续关注。
相关推荐:
电脑ping命令的结果怎么输出到txt文本?
电脑Ping IP时出现request time out怎么办?