由于运维的需要,需要用Ping命令持续检测局域网络中某网段的多个连续IP地址的网络连接情况
经过研究和学习后,总结了一个不用第三方工具以及开发程序可以解决的方法
该方法主要使用批处理命令来实现
主要的功能是:用For循环批量Ping指定段的IP地址,并对每个IP生成对应的日志文件,日志中加载对应Ping的时刻
以下是命令示例:Ping 192.168.1.10~192.168.1.20的十个IP地址
以下命令可手动选择复制文本,用txt保存(使用ASCII模式),不要用csdn自带的代码复制会有乱码,保存后,txt扩展名改为bat即可双击运行
中止运行Ctrl+C,选y回车退出,选n回车则继续运行
这里为了连续,设置的ping的延时时间为10ms,ping的次数为1次,可以根据需要自行调整w,和n的参数值
循环间隔可以用timeout /T 10 /NoBreak 命令来设置
rem 批量循环Ping IP地址并将结果分别保存到每个txt文件中
@echo
mkdir D:\Ping结果\
start "" "D:\Ping结果\"
:bgn
set "varIP=192.168.1."
for /l %%i in (10,1,20) do (
setlocal enabledelayedexpansion
set "varIP1=%varIP%%%i"
ping !varIP1! -n 1 -w 10>>D:\Ping结果\!varIP1!Result.txt
rem 参数-w为Ping 的时超时间间隔,默认毫秒,-n为Ping的次数,timeout是每次循环的时间间隔
rem 下面命令用于把时间写入txt文档
echo %date:~0,4%年%date:~5,2%月%date:~8,2%日%time:~0,8%>>D:\Ping结果\!varIP1!Result.txt
echo ================================================================>>E:\Ping结果\!varIP1!Result.txt
endlocal
)
timeout /t 1 /nobreak
goto bgn