一個(gè)以前工作時(shí)用到的網(wǎng)絡(luò)聯(lián)通情況測(cè)試, 說(shuō)白了就是隔一段時(shí)間ping一下..因?yàn)槟菚r(shí)有幾個(gè)主機(jī)不太穩(wěn)定,所以在網(wǎng)上找了一下,本來(lái)想用pingplus..好像叫超級(jí)ping吧.那軟件... 電信那邊的人說(shuō)看不懂.悶....不得已就搞了這個(gè).bat版的
ServerPingShell.bat (運(yùn)行時(shí)的文件.定義變量的作用)
@echo offecho ***************************************************************************echo ** 網(wǎng)絡(luò)聯(lián)通情況記錄 **echo ***************************************************************************echo 程序正在運(yùn)行中,請(qǐng)稍后…………set logfile=網(wǎng)絡(luò)聯(lián)通情況%date:~0,4%%date:~5,2%%date:~8,2%.txtset pinglog=pinglog.txtset logfind=logfind.txtset cmdping=pingset driver=ip地址:set timeout=超時(shí)情況記錄.txtset callbatfilename=ServerPing.batIF NOT EXIST %logfile% echo IP地址 Average Minimum Maximum Sent Received lost date time>>%logfile% & echo -------------------------------------------------------------------------------->>%logfile%call %callbatfilename% %driver% [這里填你要的ip地址,呵呵只一個(gè)啊]exit
----------------------------------------------分隔線不包括此行!
ServerPing.bat (ping工作的主要文件,截取導(dǎo)出)
%cmdping% %2 >> %pinglog%Set temp123=TEMP.txtFIND /C "Request timed out" %pinglog% > %temp123%FOR /F "tokens=3" %%i in (%temp123%) do set lv_cnt=%%iif %lv_cnt% GTR 3 date /t >>%timeout% && time /t >>%timeout% && type %pinglog% >>%timeout% && echo ------------->> %timeout%find "statistics" %pinglog% >> %logfind%For /f "skip=2 tokens=4" %%m In (%logfind%) Do set ip=%%mfind "Average" %pinglog% >> %logfind%For /f "skip=2 tokens=3" %%n In (%logfind%) Do set Average=%%nFor /f "skip=2 tokens=6" %%o In (%logfind%) Do set Minimum=%%oFor /f "skip=2 tokens=9" %%p In (%logfind%) Do set Maximum=%%pfind "Lost" %pinglog% >> %logfind%For /f "skip=2 tokens=4" %%q In (%logfind%) Do set Sent=%%qFor /f "skip=2 tokens=7" %%r In (%logfind%) Do set Received=%%rFor /f "skip=2 tokens=11" %%s In (%logfind%) Do set lost=%%s@echo onif %lv_cnt% EQU 0 echo %ip% %Average% %Minimum% %Maximum%, %Sent% %Received% %lost%) %date% %time% >> %logfile%if %lv_cnt% GTR 3 echo %ip% 超 時(shí) %date% %time% >> %logfile%echo ------------->> %logfile%@echo offdel %pinglog%del %logfind%del %temp123%
----------------------------------------------分隔線不包括此行!
HideRunPing.vbs (bat自身不能隱藏,定時(shí)會(huì)跑出來(lái),很煩.加個(gè)vbs來(lái)隱藏和定時(shí))
doSet ws = CreateObject("Wscript.Shell")ws.run "cmd /c ServerPingShell.bat",vbhidewscript.sleep 300000loop
----------------------------------------------分隔線不包括此行!
就這樣..進(jìn)行一下HideRunPing.vbs 后每30秒自已ping一次.時(shí)間可以自已在vbs文件里那個(gè)wscript.sleep [時(shí)間] 改..
導(dǎo)出的效果差不多就是.. 呵呵.
IP地址 Average Minimum Maximum Sent Received lost date time--------------------------------------------------------------------------------127.0.0.123: 1ms, 1ms, 1ms, 4, 4, (0%) 2008-08-01 8:48:58.29-------------127.0.0.123: 1ms, 1ms, 1ms, 4, 4, (0%) 2008-08-01 8:53:58.28-------------127.0.0.123: 1ms, 1ms, 1ms, 4, 4, (0%) 2008-08-01 8:58:58.31-------------127.0.0.123: 1ms, 1ms, 1ms, 4, 4, (0%) 2008-08-01 9:03:58.31
聯(lián)系客服