本帖最后由 pcl_test 于 2016-12-29 21:43 编辑
回复 8# Nsqs
回复 7# GNU
请教下:
ping某个ip,如果ping通畅,就继续下面代码。
如果不通畅,就间隔20秒一直ping。
然后20分钟后,还是不通,就退出
如果用for循环,可以实现20分钟间隔。
但是ping通畅,也跟着在for循环里面一直ping了。。如何解决?
暂时解决。。。待测试。- @echo off
- setlocal enabledelayedexpansion
-
- set tf=0
-
- echo 循环执行
-
- for /l %%a in (1,1,5) do (
-
- if !tf! equ 1 echo OKtuichu && exit/b
-
- call :start1
- ping 127.0.0.1 -n 5 >nul 2>nul
-
- 1pause
- )
-
- echo neterror
- 1pause
- echo 如果网络error,循环检测几次后,就直接退出。
-
- exit
-
-
-
- :nextok
- mshta vbscript:createobject("wscript.shell").popup("!aa!%a%——————网络正常——————"^&vbCrLf^&"%bb%%b%——————网络正常——————",2,"提示",4096)(window.close)
- echo netok
- 1pause
-
- set /a tf=1
- goto :eof
-
-
- :start1
-
- set /a n=0
- set a=192.168.0.8
- set aa=aa服务器
- set b=192.168.0.1
- set bb=bbb服务器
-
- ping %a% -n 1 >nul 2>nul && set /a n+=1 && goto :aaa||goto :bbb
-
- :aaa
- ping %b% -n 1 >nul 2>nul && set /a n+=1 && goto :nextok||call:msg1
-
- if %n% geq 2 goto :nextok
- goto :eof
-
- :bbb
- ping %b% -n 1 >nul 2>nul && set /a n+=1 && call:msg2||call:msg3
- goto :eof
-
- :msg1
- mshta vbscript:createobject("wscript.shell").popup("%aa%%a%——————网络正常——————"^&vbCrLf^&"%bb%%b%!===========网络故障===========",10,"提示",4096)(window.close)
- goto :eof
-
- :msg2
- mshta vbscript:createobject("wscript.shell").popup("%aa%%a%!===========网络故障==========="^&vbCrLf^&"%bb%%b%——————网络正常——————",10,"提示",4096)(window.close)
- goto :eof
-
- :msg3
- mshta vbscript:createobject("wscript.shell").popup("!aa!!a!===========网络故障==========="^&vbCrLf^&"!bb!!b!===========网络故障===========",10,"提示",4096)(window.close)
- goto :eof
复制代码
|