千家信息网

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

发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,本篇内容介绍了"如何实现批处理查看同一子网络下的所有IP在线情况"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够
千家信息网最后更新 2025年11月12日如何实现批处理查看同一子网络下的所有IP在线情况

本篇内容介绍了"如何实现批处理查看同一子网络下的所有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]
更详细的说明请参阅 ipconfig/? 。ipconfig /all ,参数 /all 表示查看详细的网络配置。命令 ipconfig /all ^| find /i "IP Address" 表示在 'ipconfig /all 的结果中,以 "IP Address" 为查找对象,进行搜索(其结果类似于:IP Address. . . . . . . . . . . . : 10.30.11.51 )。

而整条命令中的 for 语句,则表示在上述结果中,以冒号为间隔(delims=:),查找第2个字串(tokens=2)。很明显,所找到的结果就是自己电脑当前的IP地址了(如果您只有一快网卡或是只启用了一个网卡的话。显然,对于多个网卡会显示出多个IP的情况,我并没有考虑的太全面)。[关于 for 更详细请参阅 4.2.4 小节]

另外,注意到在 ipconfig /all ^| find /i "IP Address" 中有一个转义字符 ^ ,它的作用是让后面的管道命令 | 生效,而不是让程序把 | 误解为 for 语句里参数的一部分。

注2. ping 其实才是本批处理的核心部分。命令 ping 的主要作用是通过发送数据包并接收应答信息来检测两台计算机之间的网络是否连通。比如我可以输入 ping 10.30.11.35 以便查看我是否能与我所在的局域网中IP为 10.30.11.35 的机器连通。如果我不懂批处理的话,也许我就得从 IP 10.30.11.1 开始,挨个地 ping 到 IP 10.30.11.255 ,才能达到我在本小节的最初目的。

在批处理中 ping 的3个参数 -n 1 -w 200 -l 16 分别表示:仅 ping 一遍[-n 1],等待200毫秒后按超时考虑[-w 200],发送16字节的数据[-l 16]。

另外,此命令行中同时用到了两个 && 和一个 || 的组合命令,我不得不承认这种复杂的逻辑关系会给您带来阅读上的困难。

注3. 这里使用了 set /p =显示内容

"如何实现批处理查看同一子网络下的所有IP在线情况"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

在线 结果 命令 网络 子网 个数 信息 地址 程序 统计 情况 内容 文件 作用 参数 时间 百分 百分比 网卡 输出 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 快手宝可梦千千服务器 数据库安装错误代码1508 广东音乐下载软件开发 电视台网络安全工作会议发言材料 软件开发需要懂什么 数据库中两个表共享一个列 开服务器需要多久 群晖数据备份到服务器 软件开发公司英文介绍 关键信息基础设施网络安全原则 华为 86服务器卖了多少钱 学一个软件开发就可以当程序员吗 数据库固定长度整数 天津手机软件开发语言 oracle选课数据库 hpe服务器指示灯报警如何处理 怎么在客户机管理dhcp服务器 崩坏3服务器维护 奉贤区管理软件开发活动方案 计算机网络技术所学的课程 怎么查看服务器是不是linux 泰州祥云软件开发 免费好用的云服务器管理面板 数据库中分号代表 万全服务器r680重置主板 为供电所提供专业的网络技术支持 浙江工程审批管控软件开发平台 ocp数据库认证工程师学哪些书 修复软件数据库文件 电商app模板软件开发
0