2016-05-23 162 views
0

編輯:找到修復程序,而不使用任務計劃程序。當沒有檢測到互聯網時自動連接到WiFi網絡

@echo off 
:loop 
set addresses=192.168.1.1 
for %%a in (%addresses%) do ping %%a -n 1 > nul || netsh wlan add profile filename=C:\User\path\to\wireless\xml\profile.xml user=all 
timeout /t 5 
goto :loop 

它重複每5秒鐘


我中途有,但都被卡住。我已經有了一個批處理文件,可以在手動運行時將筆記本電腦連接回網絡,但在未檢測到互聯網時要求它運行。所以我繼續將它綁定到任務計劃程序,觸發器的ID爲10001(這是Disconnect ID)的「Microsoft-Windows-NetworkProfile/Operational」,但沒有運氣。

我相信它只會在手動從互聯網斷開連接時觸發,而不會在無線卡自己丟棄信號時觸發。任何想法,我可以做什麼?

操作系統:Windows 8.1

無線接口:電纜事項AC600雙頻無線加密狗(不允許自動連接到SSID,並持續下降,原因不明的連接)

+0

請從問題中刪除您的工作代碼並將其作爲答案發布。然後接受答案以表明問題已解決。 – Stephan

回答

1

找到了解決方案!

@echo off 
:loop 
set addresses=192.168.1.1 
for %%a in (%addresses%) do ping %%a -n 1 > nul || netsh wlan add profile filename=C:\User\path\to\wireless\xml\profile.xml user=all 
timeout /t 5 
goto :loop 

這樣做是平安地址一次(在這種情況下,內部地址,所以我沒有得到來自網站的DDoS攻擊的威脅),如果返回響應一個錯誤,它會加載一個WiFi配置。 獲取配置文件首先你需要輸入

netsh wlan show profiles 

,看看有什麼文件,你有(只加載配置文件當前使用的無線網卡)。看到的配置文件的名稱後,您可以通過鍵入

netsh wlan export profile name=[profile name] 

下載配置文件,我相信它會保存到桌面上,並從那裏你可以改變在此評論的頂部列出的代碼相匹配的文件路徑XML文件,以滿足您的需求。

乾杯!

0

怎麼樣的批處理腳本定期執行ping命令並檢查結果?

ping some.host > pinged.txt 
find "some string which occurs if the network went down" pinged.txt 

如果%errorlevel%爲0,比找到字符串並且連接斷開。

相關問題