для цикла, работающего в командной строке CMD, но не в пакетном файле -для цикла, который был скопирован

Примечание. :Я почти не имею ни малейшего представления о том, как работают циклы 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 в пакетном режиме, если бы у меня не было очень плотного графика -Я уже узнавал об этом раньше, но этот цикл кажется мне довольно странным.

7
задан Shariq 28 June 2012 в 16:49
поделиться