注意:我几乎不知道批处理文件“for”循环是如何工作的。
我目前拥有的批处理文件:
"C:\Program Files (x86)\HMA! Pro VPN\bin\HMA! Pro VPN.exe" -connect
"C:\Program Files (x86)\HMA! Pro VPN\bin\HMA! Pro VPN.exe" -changeip
ping -w 2000 -n 1 1.1.1.1
:wait
for /f "usebackq tokens=1,2,3,*" %A in (`netsh interface show interface`) do @if "%D"=="Local Area Connection 2" set state=%B
if %state%==Connected goto :end
goto :wait
:end
我正在尝试编写一个使用 HMA 的强大 IP 转换器!Pro VPN - 无论VPN客户端是否打开,VPN当前是否打开,它都应该工作,并且应该暂停直到VPN连接。
如果你用谷歌搜索 for 循环,你会看到它出现在 stackoverflow 答案中 - 这个 for 循环在 CMD 提示符下工作得非常好,并将 %state% 设置为 Connected/Disconnected 很好,但在批处理文件中,会引发以下错误:
D"=="Local was unexpected at this time.
如果我的日程安排不是很紧,我会批量学习更多关于 for 循环的知识——我之前已经了解过这些,但是这个循环对我来说看起来很奇怪。