撥號類網絡鏈接監控windows腳本

@echo off

::ping DNS保持連接 並且 檢測是否掉線 自動重新連接程序
::
By suxiaojack at 2007.11

:init
set DOWN=0
goto start


::檢測需要重新連接否

:checkRedial

::自行確定rasdial輸出 ,是否是 "已連接" 可能是英文等等
rasdial | find "已連接"
::沒有已連接字符輸出,則掉線了
if {%ERRORLEVEL%}=={1set DOWN=1
goto EOF

:redial
echo 重新連接
::利用創建的一個連接,保存了密碼,去掉撥號提示等等。一旦執行就自動撥號。
c:cdma.lnk
set DOWN=0
goto EOF

:start

:redo
echo at %DATE% %TIME%
ping 
220.192.8.58 -n 1 | find "Reply"
if {%ERRORLEVEL%}=={1call:checkRedial
if {%DOWN%}=={1call:redial
::延時
ping 0 >nul
ping 
0 >nul
ping 
0 >nul
ping 
0 >nul
ping 
0 >nul
ping 
0 >nul
goto redo


:EOF

 

主要是用了ping和rasdial兩個命令,如果沒有必要ping DNS服務器來保持數據鏈接的話,可以自行去掉其處理.
而rasdial的輸出需要自行確定是否是中文的"已連接"或者改變爲其他的。在延時時間上也可以自行增減(不必太頻繁)。
自動連接使用了鏈接的快捷方式文件。需要將其屬性設置一下,保存密碼,去掉所有提示,以便達成自動連接的目的。

修改了一下ping隨機地址似乎要好點。

 

@echo off

::ping 隨機地址 保持連接 並且 檢測是否掉線 自動重新連接程序
::
By suxiaojack at 2007.12

:init
set DOWN=0
goto start


::檢測需要重新連接否

:checkRedial

::自行確定rasdial輸出 ,是否是 "已連接" 可能是英文等等
rasdial | find "已連接"
::沒有已連接字符輸出,則掉線了
if {%ERRORLEVEL%}=={1set DOWN=1
goto EOF

:redial
echo 重新連接
::利用創建的一個連接,保存了密碼,去掉撥號提示等等。一旦執行就自動撥號。
c:cdma.lnk
set DOWN=0
goto EOF

:start

:redo
set /a IP1=%RANDOM% / 255
set /a IP2=%RANDOM% / 255
set /a IP3=%RANDOM% / 255
set /a IP4=%RANDOM% / 255
set IP=%IP1%.%IP2%.%IP3%.%IP4%
echo at %DATE% %TIME% ping %IP%
ping %IP% -n 
1 | find "Reply"

if {%ERRORLEVEL%}=={1call:checkRedial
if {%DOWN%}=={1call:redial
::延時
ping 0 >nul
ping 
0 >nul
ping 
0 >nul
ping 
0 >nul
ping 
0 >nul
ping 
0 >nul
ping 
0 >nul
ping 
0 >nul
goto redo


:EOF
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章