1

我正在尝试使用 OpenVPN 创建一个自动连接和断开连接文件,除此之外,将我的 WiFi 适配器 DNS 设置为 0.0.0.0(因为 DNS 泄漏)并恢复正常。

这是我当前的代码:

@echo off
SETLOCAL EnableExtensions
set EXE=openvpn-gui.exe
FOR /F %%x IN ('tasklist /NH /FI "IMAGENAME eq %EXE%"') DO IF %%x == %EXE% goto NOT
goto RUNS

:NOT
taskkill /im openvpn-gui.exe /f
taskkill /im openvpn.exe /f
netsh interface IPv4 set dnsserver "WiFi" dhcp
ipconfig /flushdns
exit

:RUNS
cd "C:\Program Files\OpenVPN\bin"
openvpn-gui.exe --connect "vpn-connection-file.ovpn" 

netsh interface IPv4 set dnsserver "WiFi" static 0.0.0.0 both
ipconfig /flushdns
exit

我的代码的第一行检查 openVPN 是否正在运行,如果运行,则运行,否则运行。

NOT 正在结束 OpenVPN 并将 DNS 恢复正常。

RUN 正在打开 OpenVPN 并建立与我的配置文件的连接。

但是,在此行之后:

openvpn-gui.exe --connect "vpn-connection-file.ovpn" 

CMD 不会继续处理其余代码。它只是停止,空白空格键正在闪烁。(不能输入任何键或其他任何东西。)检查其余代码是否已执行是否定的。

有人知道这里发生了什么吗?

4

1 回答 1

2

CMD 等待openvpn-gui.exe结束。试试看start

start openvpn-gui.exe --connect "vpn-connection-file.ovpn" 
于 2017-09-15T13:09:36.250 回答