2011-05-04 56 views
0

當請求超時時,我看到了封鎖和自動重撥。用於零星網絡連接的批處理文件

問題: 但即時通訊很難研究'反或增量'部分。

想法: 應該繼承人如何爲:

開始連續ping命令,同時連接到互聯網, 否則 計數(或累計)的請求超時,直到1分鐘或60請求超時, 如果連接回去在請求超時後&小於'60次請求超時',如果請求超時達到60x,則將 '請求超時計數器'重置爲零 : 運行另一批次或重新連接重新撥號。 環互聯網連接查驗

,我看到最接近: (但由於某種原因它不工作對我的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

你的需求大膽難以破譯。您發佈的腳本僅回顯一個字符串並將NUL寫入日誌文件。請澄清。 – 2011-05-04 17:12:27

回答

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 
相關問題