[CMD] Ожидание появления определенного ip и выполнение другой команды

alex_diablo

Активный пользователь
Сообщения
144
Симпатии
9
Баллы
58
#1
доброго времени суток.

такая вот задачка:

скрипт должен ожидать получения компом определенного айпишника и после этого выполнять дальнейшие команды.
нужно выполнить команду ipconfig и определить: если ip адрес соответсвует 172.16.х.х, то перейти по метке для выполнения других команд скрипта.
если айпишник другой, то подождать скажем 30 секунд и снова проверить, не изменился ли айпишник.
в общем, нужно выполнять проверку до тех пор, пока не комп не получит нужный айпишник и после этого переходить к другим командам в скрипте.
помогите пожалуйста.
 

alex_diablo

Активный пользователь
Сообщения
144
Симпатии
9
Баллы
58
#2
в итоге сделал так: вроде работает.
может что-то криво сделал и можно сделать правильнее?

Код:
:search_ip
For /F "delims=" %%a in ('ipconfig ^| find /i "ipv4"') do call :FindIP "%%a"

:FindIP
set "ip=%~1"
if "%ip:172.16=%" neq "%ip%"  goto end
TIMEOUT /T 10 /NOBREAK
goto search_ip

:end
echo ip_net=172.16
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,858
Симпатии
5,718
Баллы
588
#3
CMD/BATCH:
:begin
ipconfig /all | find "172.16." || (ping 127.1 -n 31& goto begin)
 

alex_diablo

Активный пользователь
Сообщения
144
Симпатии
9
Баллы
58
#4
гениально! спасибо!
 
Сверху Снизу