首页 > 编程 > BAT > 正文

批处理查看同一子网络下的所有IP在线情况

2020-06-09 14:00:59
字体:
来源:转载
供稿:网友

本文的批处理可以让您知道自己所在局域网的同一网段下都有哪些IP被使用了。不得不承认,我在创造这个批处理的时候想法很奇怪,甚至有些愚蠢。

:::::::查看所有子网IP.bat:::::::@echo offtitle 查看所有子网IPset /a Online=0set /a Offline=0set /a Total=256set ExportFile=子网IP在线统计.txt:: 初始化在线IP与不在线IP的个数为零,共扫描256个IP,结果输出的文件名set StartTime=%time%:: 记录程序的开始时间for /f "delims=: tokens=2" %%i in ('ipconfig /all ^| find /i "IP Address"') do set IP=%%i:: 获得本机IP [注1]if "%IP%"=="" echo 未连接到网络 & pause & goto :EOFif "%IP%"==" 0.0.0.0" echo 未连接到网络 & pause & goto :EOF:: 当IP为空或 0.0.0.0 时,提示未连接并退出该程序for /f "delims=. tokens=1,2,3,4" %%i in ("%IP%") do (  set /a IP1=%%i  set /a IP2=%%j  set /a IP3=%%k  set /a IP4=%%l):: 以句点为分隔符,分别将IP的四个十进制数赋给四个变量set /a IP4=0echo 在线的IP:>%ExportFile%:: 初始化IP的第四个数值为零,并创建结果输出文件:RETRYping %IP1%.%IP2%.%IP3%.%IP4% -n 1 -w 200 -l 16>nul && set /a Online+=1 && echo %IP1%.%IP2%.%IP3%.%IP4%>>%ExportFile% || set /a Offline+=1:: ping 目标IP [注2]set /p =[将本文底部评论4中的退格符替换到此处]set /a Scanned=%Online%+%Offline%set /a Progress=(%Online%+%Offline%)*100/%Total%set /p =正在扫描:%Scanned%/%Total% 扫描进度:%Progress%%%:: 删除当前行的内容,并重新显示进度信息 [注3]set /a IP4+=1 if %IP4% lss %Total% goto :RETRY:: 当IP的第四个数值小于总数时,跳转回 :RETRY 处,重复执行直到全部 ping 完为止echo.echo.set EndTime=%time%:: 记录程序的结束时间set /a Seconds = %EndTime:~6,2% - %StartTime:~6,2%set /a Minutes = %EndTime:~3,2% - %StartTime:~3,2%if %Seconds% lss 0 set /a Seconds += 60 & set /a Minutes -= 1if %Minutes% lss 0 set /a Minutes += 60:: 计算时间差set /a Percent=%Online%*100/(%Online%+%Offline%):: 计算在线百分比echo 在线IP个数:  %Online%echo 不在线IP个数: %Offline%echo 在线百分比:  %Percent%%%echo 统计耗时:   %Minutes%分%Seconds%秒echo 统计日期:   %date% %time:~0,-3%echo.>>%ExportFile%echo 在线IP个数:  %Online%>>%ExportFile%echo 不在线IP个数: %Offline%>>%ExportFile%echo 在线百分比:  %Percent%%%>>%ExportFile%echo 统计耗时:   %Minutes%分%Seconds%秒>>%ExportFile%echo 统计日期:   %date% %time:~0,-3%>>%ExportFile%echo 记录已保存到文件"%ExportFile%"中::显示结果并将结果保存到文件中pause::::::::::::::::::::::::::::::::

注1. ipconfig 是内置于 Windows 的 TCP/IP 应用程序,用于显示本地计算机网络适配器的物理地址和IP地址等配制信息,这些信息一般用来检验手动配置的 TCP/IP 设置是否正确。当在网络中使用 DHCP 服务时, ipconfig 可以检测到计算机中分配到了什么IP地址,是否配置正确,并且可以释放,重新获取IP地址。这些信息对于网络测试和故障排除都有重要的作用。[3]

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表