用批处理ping一个段的IP(扫描网段,IP段)
的有关信息介绍如下:很多人都会遇到需要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
9.最后声明一下,本批处理是本人大量查阅了各种批处理命令后综合出来的,欢迎大家交流斧正。
10.另外,这个批处理中没有对输入的值进行判断,所以如果你随便输入的话,则不能正常运行并记录结果,切记切记。