标题: [网络连接] 求助:断电后ping不能就关机,ping通了就断续ping [打印本页]
作者: pdxufeng1 时间: 2018-10-15 10:48 标题: 求助:断电后ping不能就关机,ping通了就断续ping
网上搜到一段脚本,测试环境win 7 x64系统,win 2012 r2
问题:一阵好用一阵不好用,正常的时候,能断网(拨网线)后duan从1到9后,跳到
shutdown
但有时候断网后goto st 之间来回跳,goto不到dw
不知是脚本问题,还是系统原因~~宝宝心里苦- @echo off
- set /a duan=0
- :st
- ping 192.168.0.238 -n 10 >nul
- if %ERRORLEVEL%==1 goto dw
- set /a duan=0
- goto st
- :dw
- set /a duan=%duan%+1
- if "%duan%" geq "9" goto chongqi
- goto st
- :chongqi
- shutdown -s -f -t 600
复制代码
作者: hlzj88 时间: 2018-10-15 20:57
- @echo off
- :ks
- ping /n 90 127.1>>test.txt
- findstr /i "ttl" test.txt&&shutdown -a&&goto ks || echo shutdown -s -f -t 600
- echo.>test.txt
- goto ks
复制代码
考虑到 可能丢包的情况,考虑到 在等待10分钟关机期间网络恢复正常的情况。
测试无误,可删除 || 后的echo
作者: pdxufeng1 时间: 2018-10-17 16:14
考虑到 可能丢包的情况,考虑到 在等待10分钟关机期间网络恢复正常的情况。
测试无误,可删除 || 后的echo
hlzj88 发表于 2018-10-15 20:57
感谢上尉,这个我测试了,奇怪的是,按说执行到 goto ks 会跳到ks,但现在是顺着这些命令全都执行了。
就是执行完关机命令,清除文本,再跳转ks。
然后就提示一会关机,一会取消关机。
findstr /i "ttl" test.txt&&shutdown -a&&goto ks || shutdown -s -f -t 600
作者: pdxufeng1 时间: 2018-10-17 16:49
回复 2# hlzj88
我知道问题在那了,当ping出现无法访问目标主机时,就会出现跳转错误
如果是一般故障是正常的。
作者: hlzj88 时间: 2018-10-17 19:56
回复 4# pdxufeng1
这个运行流程,当ping不通时,即不能找到ttl,启动延时10分钟的关机命令。在关机命令等待期间,依旧进行ping,当发现了ttl(对方开机了,或丢包现象有偶尔ping通(对方未关机)),取消关机命令。 重复前面流程。
作者: lifei259 时间: 2018-10-19 11:40
打开延时,!ERRORLEVEL!就不会出现你说的问题 ,这个你可以试试
作者: jiavip 时间: 2018-10-22 15:16
回复 1# pdxufeng1
写那么复杂的代码干嘛呢?看下我的代码多简洁明了。- @echo off &COLOR 0E &MODE CON: COLS=30 LINES=2 &TITLE 断网关机
- :RUN
- SET 检测的IP地址=192.168.0.238
- SET 断网循环次数=9
- ::下行 “循环次数” 如无必要请勿修改。
- SET 循环次数=1
- >NUL PING %检测的IP地址% -n 10 ||CALL :NONET
- GOTO RUN
- :NONET
- SET /A 循环次数=%循环次数%+1
- IF /I "%循环次数%"=="%断网循环次数%" shutdown -s -f -t 600
- GOTO :EOF
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |