在批处理文件中检查 VPN 状态
Checking for VPN state in Batch File
我希望创建一系列批处理文件,在启动 VPN 之前检查特定 VPN 的状态(如果尚未启动)运行,并最终启动特定应用程序。
我有一个工作示例,但我正在尝试将其修改为学习练习和实际扩展。
我目前正在使用 ipconfig 和管道连接到 find/i 并寻找 VPN 名称,强制断开连接然后重新连接。
我也想这样做,但如果 VPN 已启动,请跳过断开连接。
工作示例:
@echo OFF
::Check to see if the VPN is already connected and disconnect it
echo Checking for VPN connection...
@ipconfig|find/i "myVPN" && rasdial myVPN /disconnect
echo.
echo.
::Connect to the VPN server
@rasdial.exe myVPN "username" "password"
echo.
echo.
如我所说,这可行,但 VPN 的强制断开会扰乱一些可能通过 VPN 运行 的其他服务,正如您可以想象的那样。
这就是我一直在玩的东西,但我似乎卡住了,一无所获,非常感谢您的建议!
进度:
@echo OFF
::Check to see if the VPN is already connected and disconnect it
echo Checking for VPN connection...
IF @ipconfig|find/i "VPN" (GOTO startAPP) ELSE (GOTO connectVPN)
echo.
echo.
::Connect to the VPN server
:connectVPN
echo Connecting VPN
@rasdial.exe VPN "username" "password"
echo.
echo.
GOTO startAPP
:startAPP
echo Starting App
@C:\app.ext
:END
我最近一直在尝试将各种选项存储为变量以简化更改,并让用户输入一些用户名和密码。这是最终的进展,一旦我对这个初始部分进行了排序。
您可以像这样使用条件运算符 &&
和 ||
:
ipconfig|find /i "VPN" && GOTO startAPP || GOTO connectVPN
或
ipconfig|find /i "VPN"
if %errorlevel%==1 goto:connectVPN
echo Starting APP !
exit/b
:connectVPN
echo connecting to VPN
我希望创建一系列批处理文件,在启动 VPN 之前检查特定 VPN 的状态(如果尚未启动)运行,并最终启动特定应用程序。
我有一个工作示例,但我正在尝试将其修改为学习练习和实际扩展。
我目前正在使用 ipconfig 和管道连接到 find/i 并寻找 VPN 名称,强制断开连接然后重新连接。
我也想这样做,但如果 VPN 已启动,请跳过断开连接。
工作示例:
@echo OFF
::Check to see if the VPN is already connected and disconnect it
echo Checking for VPN connection...
@ipconfig|find/i "myVPN" && rasdial myVPN /disconnect
echo.
echo.
::Connect to the VPN server
@rasdial.exe myVPN "username" "password"
echo.
echo.
如我所说,这可行,但 VPN 的强制断开会扰乱一些可能通过 VPN 运行 的其他服务,正如您可以想象的那样。
这就是我一直在玩的东西,但我似乎卡住了,一无所获,非常感谢您的建议!
进度:
@echo OFF
::Check to see if the VPN is already connected and disconnect it
echo Checking for VPN connection...
IF @ipconfig|find/i "VPN" (GOTO startAPP) ELSE (GOTO connectVPN)
echo.
echo.
::Connect to the VPN server
:connectVPN
echo Connecting VPN
@rasdial.exe VPN "username" "password"
echo.
echo.
GOTO startAPP
:startAPP
echo Starting App
@C:\app.ext
:END
我最近一直在尝试将各种选项存储为变量以简化更改,并让用户输入一些用户名和密码。这是最终的进展,一旦我对这个初始部分进行了排序。
您可以像这样使用条件运算符 &&
和 ||
:
ipconfig|find /i "VPN" && GOTO startAPP || GOTO connectVPN
或
ipconfig|find /i "VPN"
if %errorlevel%==1 goto:connectVPN
echo Starting APP !
exit/b
:connectVPN
echo connecting to VPN