当请求超时时,我看到了pingers和自动重拨。
问题: 但我很难研究“反制或增量”部分。
主意: 继承人应该如何:
连接到互联网时连续开始ping, 除此以外 计算(或累积)请求超时,直到1分钟或60分钟请求超时, 如果连接在请求超时后返回&小于'60次请求超时',重置 '请求超时计数器'为零 如果请求超时达到60x: 运行另一个批次或重新连接重新拨号。 循环到互联网连接pinging
我看到的最近的: (但由于某种原因,它不能在我的xp上工作)
@echo off
setLocal EnableDelayedExpansion
:loop
ping -n 2 10.174.10.48 >> log
find /i "Reply" < log > nul
if not errorlevel 1 type nul > log & goto :loop
for /f "tokens=1" %%a in ('find /c /i "Request timed out" ^< log') do (
if %%a geq 10 echo file.exe && type nul > log
)
goto :loop
来源:http://www.computing.net/answers/programming/ping-bat-file/16605.html
归功于原始海报。 谢谢
答案 0 :(得分:0)
很高兴知道为什么上面的脚本不起作用。因为可能其他解决方案也不起作用。如果您使用非英语版本的Windows,则需要替换“回复”文本。
我认为以下内容应该有效。它只是实现了计数器。但您可以尝试自己如何设置计数器以在60秒后执行脚本。
@echo off
:reset
set count=0
:loop
ping -n 2 10.174.10.48 | find /i "Reply"
if not errorlevel 1 goto :reset
set /A count=%count%+1
if %count% lss 100 got :loop
call reconnect
goto :reset