Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Проверка полученного ip по условию (http://forum.oszone.net/showthread.php?t=315256)

dellik77 26-05-2016 15:10 2637825

Проверка полученного ip по условию
 
здравствуйте, есть код переподключения 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 26-05-2016 16:44 2637864

я так понимаю первые два октета не изменяются, т.е. если например 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 26-05-2016 17:05 2637872

почти ) спасибо большое, сейчас попробую сделать по аналогии с Вашим кодом, логически чуток не то, что мне нужно, т.к. мне необходимо в любом случае переподключать инет ) тоесть если получен серый 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 26-05-2016 17:31 2637884

Цитата:

Цитата dellik77
ping -n 1 -w 35000 …»

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


Время: 02:52.

Время: 02:52.
© OSzone.net 2001-