我需要使用批处理文件检查在线/启动时的 vpn 连接。
实际上我使用这个代码:
PING -n 5 www.google.com|FIND /I "TTL">NUL
IF NOT "%ERRORLEVEL%"=="1" (
Echo "Vpn Connection Is Up"
)
IF "%ERRORLEVEL%"=="1" (
Echo "Vpn Connection Is Down"
)
有时 ping 不会做出任何响应或给出一般的失败响应。
我想知道是否有比 ping 命令更好的批处理代码替代方案。
我尝试了这些替代代码,但在在线/启动时无法识别 vpn,因为适配器始终安装在我的 PC 上。
第一个替代代码:
ipconfig|find /i "VPN" && GOTO startAPP || GOTO connectVPN
第二种替代代码:
ipconfig|find /i "VPN"
if %errorlevle%==1 goto:connectVPN
echo Starting APP !
exit/b
:connectVPN
echo connecting to VPN
第三替代代码:
:start
cls
rasdial | find /I "%vpnname%" > nul
if errorlevel 1 goto vpndown
if errorlevel 0 goto vpnup
您能否推荐一个替代 ping 命令并将其集成到我的批处理代码中?
替代代码无法识别 vpn 连接何时在线,它可以识别我的电脑中安装的适配器是否存在,但我需要知道 vpn 何时在线/启动(准备上网)。
答案1
你可以看看这个文件:/etc/openvpn/openvpn-status.log
我还会尝试查看 ifconfig 的输出并检查适配器是否存在以及处于启动还是关闭状态。