如何透過cmd檢查pppoe是否已經在windows中連接?

如何透過cmd檢查pppoe是否已經在windows中連接?

我已經完成了自動 wifi 連接,然後連接 pppoe,因為我已安排腳本每 5 分鐘運行一次,因此如果它已經連接,它在運行時會斷開我的 wifi 連接..!我希望能夠像腳本運行時一樣,首先檢查電腦是否連接到特定的 wlan 配置文件名稱,然後檢查 pppoe 是否已連接,如果 pppoe 已連接,如果 pppoe 已連接,那麼它將 ping 一個站點確認互聯網可用,如果互聯網可用,那麼它將保留它,否則如果wifi 未連接,那麼它會重複與腳本中相同的過程:

netsh wlan connect name=Fursan-WIFI-03049815768
rasdial MikroTik_PPPoE admin thedarkforce 
rasdial MikroTik_PPPoE /d
rasdial MikroTik_PPPoE admin thedarkforce 

我想我可以將其作為 if 循環來執行,但我不確定如何在 Windows 中編寫循環腳本。我該怎麼做?

答案1

您可以在其之前添加 PING 測試。我不知道它有多可靠,但肯定比無論如何調用它更可靠:

set ipToTest=8.8.8.8
ping -n 1 %ipToTest% | find "TTL"
if %errorlevel% == 1 (
    netsh wlan connect name=Fursan-WIFI-03049815768
    if %errorlevel% == 1 (
        netsh wlan connect name=DIFFERENT_NETWORK_HERE
    )
    rasdial MikroTik_PPPoE admin thedarkforce 
    rasdial MikroTik_PPPoE /d
    rasdial MikroTik_PPPoE admin thedarkforce 
)

使用 Google 的 DNS 作為測試,但您可以將其變更為您想要的任何 IP。只有當 PING 由於某種原因失敗時,這才會執行您的命令。

就我個人而言,我認為這不是一個很好的解決方案,您的連線不應該經常斷開以保證這一點。聽起來好像某個地方的某些東西可能需要更換或修復,這只是一個創可貼措施,雖然不是每 5 分鐘進行一次更改,但如果您正在串流或正在下載,則可能會導致問題。

相關內容