批量命令和“检查互联网连接”

时间:2016-06-28 21:14:14

标签: batch-file if-statement connection

通过Steam和其他程序下载时,我的路由器出现问题,例如互联网失去与路由器的连接。我无法使用电缆将我的电脑插入路由器,所以我做了一个解决方案: 而另一个 \每X秒断开连接并连接到互联网

但问题是我想让它更高效,所以我想要一个执行此操作的命令:

:一个 \检查连接 \如果已连接,则转到a \如果noconnection disconect并连接到互联网

我遇到check connection命令的问题,因为它没有转到if

请帮助并感谢您的时间

2 个答案:

答案 0 :(得分:2)

这将是ping www.google.com,如果有响应,则goto :a,如果没有连接,那么它将goto :Disconnected

findstr将在ping输出中查找TTL(生存时间)。可以应用于多种情况的好小技巧。

ping -n 1 www.google.com | findstr TTL && goto a
ping -n 1 www.google.com | findstr TTL || goto Disconnected

:a
REM Your connected script here

:Disconnected
REM Your disconnect / reconnect script here

你也可以将其浓缩到下面。如果脚本不findstr TTL,则会继续,如果

,则跳至:a
ping -n 1 www.google.com | findstr TTL && goto a
REM Your disconnect / reconnect script here

:a
REM Your connected script here

答案 1 :(得分:0)

这就是我所做的:

@echo off 
:b
cls
:a
color 0A
ping -n 1 192.168.0.1 | findstr TTL && goto a
ping -n 1 192.168.0.1 | findstr TTL || goto Disconnected

:Disconnected
color 0C 
echo.
echo        //_No_internet_connection_\\ 
echo.
echo              //_Disconnecting_\\
netsh wlan disconnect
timeout /t 1
netsh wlan connect virginmedia8960851
echo.
echo             //_Connecting_\\
echo.
timeout /t 6
goto b