在评价网络状态时,最简单直接的就是ping命令了。在长时间ping时无法查看具体是什么时候网络出现中断,往上翻看记录无法有效的找到中断记录,同时cmd窗口无法保存太久的记录。于是笔者想着使用批处理来自动化处理这个任务,将检测中断的记录打印出来,只要一眼就可以看到中断的记录,不必翻看以往的记录来查找。
ping命令默认是ping四次,在脚本中评价ping执行是否成功时,只需要一次即可,-n可以指定次数。%ERRORLEVEL%表示上个命令执行是否成功的标识,0代表是成功,1代表是失败。为了控制ping的频率,ping -n 1 127.0.0.1>nul是延时一秒钟。:ping_cycle指明循环,整个脚本其实也很简单,具体如下。
@echo off
:ping_cycle
ping www.baidu.com -n 1 > nul
if %ERRORLEVEL%==1 echo ^>%date:~0,10% %time:~0,8% bad ping
ping -n 1 127.0.0.1>nul
goto :ping_cycle
pause
ping命令默认超时时间4秒,如果准确的评价网络质量,可以利用-w参数指定超时时间,单位为秒。下面就是ping一次,超时时间10ms的设置。
ping www.baidu.com -n 1 -w 0.01
在实测中发现这个bat批处理脚本在windows7系统上会占用cpu过高,将ping -n 1 127.0.0.1的频率调为2后可以降低CPU使用率。
网友评论