Re[2]: Получение в .bat/.cmd IP адреса вновь созданного VPN
От: DMD Россия  
Дата: 01.12.14 09:04
Оценка:
Здравствуйте, Pasha1st, Вы писали:

P>Здравствуйте, DMD, Вы писали:


DMD>>Здравствуйте,

DMD>>Ребят, подскажите — куда смотреть: необходимо в скрипте получить адрес VPN соединения, чтобы затем установить нужный маршрут. Как это можно автоматизировать? Хоть куда посмотреть-проконсультироваться?

DMD>>ОС — Windows XP, 7, 8/8.1


P>Отправные точки:

P>вывод ipconfig
P>команда FOR /F
P>Внимательно читаем вывод
P>cmd /?
P>for /?
P>set /?

P>В частности пусть винда русская, подключение называется MyVPN1

P>Тогда в выводе ipconfig будет что-нибудь вроде:
P>

P>Адаптер PPP MyVPN1:

P> DNS-суффикс подключения . . . . . :
P> IPv4-адрес. . . . . . . . . . . . : 192.168.2.21
P> Маска подсети . . . . . . . . . . : 255.255.255.255
P> Основной шлюз. . . . . . . . . :

P>Результирующий скрипт может выглядеть примерно так: (возможно потребуется подгонка под конкретную систему)
P>
P>@echo off
P>setlocal enableextensions
P>setlocal enabledelayedexpansion
P>SET flag=0
P>SET vpnip=0
P>for /F "delims=: tokens=1,2" %%a IN ('ipconfig') DO (
P>rem  ECHO *%%a*
P>  IF "Адаптер PPP MyVPN1"=="%%a" (
P>rem    ECHO flag on
P>    SET flag=1
P>  ) ELSE (
P>    IF "   IPv4-адрес. . . . . . . . . . . . "=="%%a" (
P>rem      ECHO "On IP"
P>      IF !flag!==1 (
P>rem        ECHO "On VPN"
P>        SET vpnip=%%b
P>        SET vpnip=!vpnip:~1!
P>        GOTO found
P>      )
P>    )
P>  )
P>)

P>GOTO notfound

P>:found
P>ECHO FOUND
P>ECHO !vpnip!
P>goto exit

P>:notfound
P>ECHO Not found!
P>goto exit

P>:exit
P>


P>Внимание! Скрипт должен быть в DOS866 кодировке!


Понятно. Спасибо большое. На bash-подобный синтаксис надеяться не приходится. )
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.