Проверить в cmd существует ли маршрут #326196


#0 by SPV82
Подскажите, можно ли стандартными средствами командной оболочки XP определить наличие постоянного маршрута? route print x.x.x.x mask y.y.y.y z.z.z.z в любом случае возвращает errorlevel=0, даже если маршрута не существует через указанный шлюз z.z.z.z
#1 by Ангел-Хоронитель
ну все верно.... это результат вывода, а он происходит... а смысл проверять, все равно ведь есть маршрут по-умолчанию? ты опиши задачу подробнее...
#2 by Timuss
а в реестре посмотреть? персистент роутес?
#3 by SPV82
Есть постоянные маршруты. Нужно в cmd сделать проверку наличия маршрута через указанный шлюз. Т.е. либо разобрать route print x mask y z либо еще как-то... =========================================================================== Список интерфейсов 0x1 ........................... MS TCP Loopback interface 0x10005 ...02 00 4c 4f 4f 50 ...... Microsoft Loopback Adapter - Virtual Machine Network Services Driver 0x10006 ...00 e0 4c 65 12 0f ...... Realtek RTL8139 Family PCI Fast Ethernet NIC 0x320002 ...00 ff 01 ec 25 5a ...... TAP-Win32 Adapter V9 =========================================================================== =========================================================================== Активные маршруты: Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс  Метрика          0.0.0.0          0.0.0.0      172.17.57.1   192.168.57.32      1          0.0.0.0          0.0.0.0     192.168.57.1   192.168.57.32      2         10.0.0.0        255.0.0.0      172.17.57.1   192.168.57.32      1       10.10.10.0    255.255.255.0       10.10.10.1      10.10.10.1      30       10.10.10.1  255.255.255.255        127.0.0.1       127.0.0.1      30       10.88.88.0    255.255.255.0       10.88.89.2      10.88.89.1      1       10.88.89.0  255.255.255.252       10.88.89.1      10.88.89.1      30       10.88.89.0    255.255.255.0       10.88.89.2      10.88.89.1      1       10.88.89.1  255.255.255.255        127.0.0.1       127.0.0.1      30   10.255.255.255  255.255.255.255       10.10.10.1      10.10.10.1      30   10.255.255.255  255.255.255.255       10.88.89.1      10.88.89.1      30      62.165.52.0    255.255.255.0      172.17.57.1   192.168.57.32      1      62.165.62.0    255.255.255.0      172.17.57.1   192.168.57.32      1      78.108.64.0    255.255.240.0      172.17.57.1   192.168.57.32      1     80.237.48.70  255.255.255.255      172.17.57.1   192.168.57.32      1     80.237.48.80  255.255.255.240      172.17.57.1   192.168.57.32      1     83.146.72.15  255.255.255.255      172.17.57.1   192.168.57.32      1      83.146.76.0    255.255.255.0      172.17.57.1   192.168.57.32      1      83.146.78.0    255.255.255.0      172.17.57.1   192.168.57.32      1      83.146.79.0    255.255.255.0      172.17.57.1   192.168.57.32      1     83.146.125.0    255.255.255.0      172.17.57.1   192.168.57.32      1        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1      1       172.16.0.0      255.255.0.0      172.17.57.1   192.168.57.32      1      172.17.57.0    255.255.255.0      172.17.57.5   192.168.57.32      1      172.17.57.5  255.255.255.255        127.0.0.1       127.0.0.1      1   172.17.255.255  255.255.255.255    192.168.57.32   192.168.57.32      1      192.168.0.0      255.255.0.0      172.17.57.1   192.168.57.32      1      192.168.1.0    255.255.255.0       10.88.89.2      10.88.89.1      1      192.168.2.0    255.255.255.0       10.88.89.2      10.88.89.1      1     192.168.57.0    255.255.255.0    192.168.57.32   192.168.57.32      1    192.168.57.32  255.255.255.255        127.0.0.1       127.0.0.1      1    192.168.57.38  255.255.255.255        127.0.0.1       127.0.0.1      1   192.168.57.255  255.255.255.255    192.168.57.32   192.168.57.32      1    192.168.255.0    255.255.255.0       10.88.89.2      10.88.89.1      1  195.161.195.128  255.255.255.128      172.17.57.1   192.168.57.32      1   195.239.58.160  255.255.255.224      172.17.57.1   192.168.57.32      1    195.239.132.0    255.255.255.0      172.17.57.1   192.168.57.32      1     213.24.188.0  255.255.255.128      172.17.57.1   192.168.57.32      1      213.59.50.0    255.255.255.0      172.17.57.1   192.168.57.32      1     217.106.58.0  255.255.255.192      172.17.57.1   192.168.57.32      1        224.0.0.0        240.0.0.0       10.10.10.1      10.10.10.1      30        224.0.0.0        240.0.0.0       10.88.89.1      10.88.89.1      30        224.0.0.0        240.0.0.0    192.168.57.32   192.168.57.32      1  255.255.255.255  255.255.255.255       10.10.10.1      10.10.10.1      1  255.255.255.255  255.255.255.255       10.88.89.1      10.88.89.1      1  255.255.255.255  255.255.255.255    192.168.57.32   192.168.57.32      1 Основной шлюз:        192.168.57.1 =========================================================================== Постоянные маршруты:  Сетевой адрес            Маска    Адрес шлюза      Метрика      192.168.0.0      255.255.0.0      172.17.57.1       1       172.16.0.0      255.255.0.0      172.17.57.1       1         10.0.0.0        255.0.0.0      172.17.57.1       1      62.165.52.0    255.255.255.0      172.17.57.1       1      62.165.62.0    255.255.255.0      172.17.57.1       1      78.108.64.0    255.255.240.0      172.17.57.1       1     80.237.48.80  255.255.255.240      172.17.57.1       1     80.237.48.70  255.255.255.255      172.17.57.1       1     83.146.72.15  255.255.255.255      172.17.57.1       1      83.146.76.0    255.255.255.0      172.17.57.1       1      83.146.78.0    255.255.255.0      172.17.57.1       1      83.146.79.0    255.255.255.0      172.17.57.1       1     83.146.125.0    255.255.255.0      172.17.57.1       1  195.161.195.128  255.255.255.128      172.17.57.1       1   195.239.58.160  255.255.255.224      172.17.57.1       1    195.239.132.0    255.255.255.0      172.17.57.1       1     213.24.188.0  255.255.255.128      172.17.57.1       1      213.59.50.0    255.255.255.0      172.17.57.1       1     217.106.58.0  255.255.255.192      172.17.57.1       1
#4 by Ангел-Хоронитель
я имею ввиду, зачем проверять? если надо, чтобы был - просто добавь... если нет - удали....
#5 by SPV82
Если просто добавить route add -p 192.168.0.0 mask 255.255.255.0 192.168.57.1 к вышеуказанной таблице маршрутов, то он и добавится и будут 2 равнозначных маршрута с одинаковыми метриками. Нужно же сперва сделать проверку наличия маршрута, а уже потом выполнить route add если маршрута нет или route change если он есть но через иной шлюз.
#6 by Ленивый 1сник
В маршрутах я ничего не понимаю, но если тот список который в приведен выдает команда route (в консоль) и нужно проверить есть ли в нем строка с определенным адресом и маской, можно это сделать с помощью "for", примерно так: for /F "tokens=1,2" %%i in ('route bla-bla-bla...') do if %%i==192.168.0.0 if %%j==255.255.0.0 setlocal ok=1 else setlocal ok=0 else setlocal ok=0 Ну или что-то в этом роде:) , хотя я бы лучше на jscript'е написал..
#7 by SPV82
Вот такой пакетник все равно почему-то не находит нужную пару (выполняется крайнее правое else), разделенных пробелом, хотя в echo она есть. Где я слажал? @echo off for /f "tokens=1,2" %%i in ('route print') do (   echo %%i %%j   if %%i==192.168.0.0 if %%j==255.255.0.0 (set ok=YES) else (set ok=NO) else (set ok=NO) ) echo %ok% pause
#8 by Ленивый 1сник
Фишка в том, что значение ОК остается от результата просмотра последней строки, в которой этих IP конечно нет. Вот так вроде работает: @echo off set ok=NO for /f "tokens=1,2" %%i in ('route print') do (  echo %%i - %%j  if %%i==192.168.101.0 if %%j==255.255.255.1 (set ok=YES) ) echo %ok% pause
#9 by Ленивый 1сник
ЗЫ Адреса я конечно свои поставил, и те неправильные:)
#10 by Fragster
netstat -r потом в блокнот (или если есть аналог grep в винде - то в него), и поиск ;)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С