Можно ли узнать в командной строке, подключено ли Local Area Connection 2? - PullRequest
2 голосов
/ 10 февраля 2012

У меня HideMyAss Pro VPN .

Я использую простой * .bat скрипт для автоматизации смены IP при необходимости. Файл состоит из следующего:

"C:\Program Files\HMA! Pro VPN\bin\HMA! Pro VPN.exe" -changeip  
sleep 30

Проблема в том, что HMA иногда требуется 15 секунд для смены ip, иногда 20 секунд, иногда более 30 секунд и т. Д.

Я бы хотел избавиться от sleep 30 и вместо этого выйти из скрипта, когда HMA закончит изменение IP. Есть ли способ сделать это?

Если это поможет. Я обнаружил, что если я запускаю ipconfig во время смены IP-адреса, он возвращает Media State . . . . . . . . . . . : Media disconnected для подключения по локальной сети 2. Полагаю, было бы достаточно знать , если есть команда командной строки, чтобы узнать, есть ли локальная область Соединение 2 подключено и каким-то образом включает это в сценарий.

Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

1 голос
/ 11 февраля 2012

Нет простого способа проверить состояние сетевого адаптера. Вы можете проанализировать вывод ipconfig (что более точно), но это сложно.

Это должно сработать.

set host=hidemyass.com
"C:\Program Files\HMA! Pro VPN\bin\HMA! Pro VPN.exe" -changeip  
:wait
ping -n 1 %host% | find "Reply from" >nul
if errorlevel 1 goto wait
0 голосов
/ 23 декабря 2012

Ваш вопрос помог мне, я искал то же самое, чтобы «изменить ip». Я знаю, что всегда есть задержка, но почему бы не сделать это 1 минПоскольку это всегда будет работать и ждать немного дольше, не имеет значения, работает ли обряд.

0 голосов
/ 12 февраля 2012

Вы можете использовать netsh для проверки состояния подключения сетевой карты. Просто используйте

for /f "usebackq tokens=1,2,3,*" %A in (`netsh interface show interface`) do @if "%D"=="Local Area Connection 2" set state=%B

и состояние подключения будет зафиксировано в переменной% state%.

...