CMD/BAT - [решено] Проверка полученного ip по условию

Ответить
Аватара пользователя
dellik77

CMD/BAT - [решено] Проверка полученного ip по условию

Сообщение dellik77 »

здравствуйте, есть код переподключения pppoe-соединения по заданному интервалу с помощью программки nircmd (где брал - уже не помню).



Код:

Код: Выделить всё

:loop
D:\soft\nircmd-x64\nircmd.exe rashangup "PPPoE"
ping -n 1 -w 1000 192.168.254.254 >nul
D:\soft\nircmd-x64\nircmd.exe rasdial "PPPoE"
ping -n 1 -w 35000 192.168.254.254 >nul
goto loop

подскажите пожалуйста, как мне перед пингом с ожиданием в 35с сделать проверку полученного pppoe-подключением айпи (нужны только 2 первых числа из ip). суть такова - у провайдера 2 диапазона, 1 серые айпишки, 2 белые. но мне необходимо использовать только белые, в связи с этим прошу помочь, как оформить код, чтобы если получит айпишку из серого диапазона, то опять происходило переподключение pppoe ?
Аватара пользователя
Elven

Re: CMD/BAT - [решено] Проверка полученного ip по условию

Сообщение Elven »

я так понимаю первые два октета не изменяются, т.е. если например ip начинается с "123.123." - белый, если с "111.111." - серый.

если так то можно приблизительно таким макаром:



Код:

Код: Выделить всё

:loop
D:\soft\nircmd-x64\nircmd.exe rashangup "PPPoE"
ping -n 1 -w 1000 192.168.254.254 >nul
ipconfig | find "123.123." >NUL && goto :EOF || D:\soft\nircmd-x64\nircmd.exe rasdial "PPPoE" & ping -n 1 -w 35000 192.168.254.254 >nul & goto :loop

т.о. если получен белый - батник завершает работу, если серый - начинается с :loop.
Аватара пользователя
dellik77

Re: CMD/BAT - [решено] Проверка полученного ip по условию

Сообщение dellik77 »

почти ) спасибо большое, сейчас попробую сделать по аналогии с Вашим кодом, логически чуток не то, что мне нужно, т.к. мне необходимо в любом случае переподключать инет ) тоесть если получен серый ip, тогда сразу переподключаем, а если белый - ждём 35с и тогда переподключаем и дальше по кругу



вот вобщем, вроде работает )

при условии, что белая айпишка начинается на 111.222

:loop1

D:\soft\nircmd-x64\nircmd.exe rashangup "PPPoE"

ping -n 1 -w 1000 192.168.254.254 >nul

D:\soft\nircmd-x64\nircmd.exe rasdial "PPPoE"

ipconfig | find "111.222." >NUL && goto :loop2 || ping -n 1 -w 1000 192.168.254.254 >nul & goto :loop1

:loop2

ping -n 1 -w 35000 192.168.254.254 >nul

goto loop1



ещё раз большое спасибо Elven за предоставленный пример Изображение
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Проверка полученного ip по условию

Сообщение Iska »

Цитата dellik77:



ping -n 1 -w 35000 …
CMD/BAT - [решено] Проверка полученного ip по условию




Паузу тоже можно сделать посредством nircmd. В том числе в виде «cmdwait».
Ответить

Вернуться в «Скриптовые языки администрирования Windows»