Примечание. :Я почти не имею ни малейшего представления о том, как работают циклы 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
Я пытаюсь написать надежную программу смены IP-адресов, использующую HMA! Pro VPN -должен работать независимо от того, был ли открыт VPN-клиент или нет, и независимо от того, открыта ли VPN в данный момент или нет, и должна приостанавливаться до тех пор, пока VPN не подключится.
Если вы погуглите цикл for, вы увидите, что он появляется в ответе stackoverflow -. Этот цикл for отлично работает в командной строке CMD и хорошо устанавливает %state% в Connected/Disconnected, но в пакетном файле выдает следующая ошибка:
D"=="Local was unexpected at this time.
Я бы узнал больше о циклах for в пакетном режиме, если бы у меня не было очень плотного графика -Я уже узнавал об этом раньше, но этот цикл кажется мне довольно странным.