Компьютерный форум 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=344631)

Lonely_Mouse 31-03-2020 15:35 2915252

Вставить ip в переменную
 
Уф, как же мутно все в cmd... Гуглил, пытался маны курить - ну никак не идёт. Задача простая как три копейки: нужно взять адрес шлюза из vpn интерфейса (Подключение по локальной сети 3) и сунуть его в переменную.

Busla 31-03-2020 15:54 2915256

Цитата:

Цитата Lonely_Mouse
как же мутно все в cmd »

так используйте PowerShell

Lonely_Mouse 31-03-2020 16:01 2915257

С шеллом я вообще не знаком и даже не знаю есть ли он в семёрке. На лине это делается с закрытыми глазами. У мну на vpn прописывается куча маршрутов, шлюз и днс. Я тока разобрался как днс изменить, но не знаю даже как удалить. Скриптом все переправляю, а проблема в том, что ip vpn получает динамически. Осталось только переменную прикрутить.

alpap 01-04-2020 11:17 2915363

Lonely_Mouse,
надо это?
Код:

@echo off
set "name=Подключение по локальной сети 3"

for /f "tokens=2 delims=:" %%a in ('netsh interface ip show dns "%name%"^|find /i "DNS"') do set "nIP=%%a"
echo %nIP: =%
pause

единственно я не знаю как прочитается кириллица, код надо сохранить в кодировке 866 как минимум, но вообще у меня все имена адаптеров в латинице и без пробелов, давно взял это за правило.

DarckSol 04-04-2020 21:24 2915824

NotePAD++




Код:

@echo off
chcp 1251 >nul
set name="Подключение по локальной сети 3"
::chcp 866
for /f "tokens=2 delims=:" %%a in ('netsh interface ip show dns "%name%"^|find /i "DNS"') do set "nIP=%%a"
echo %nIP: =%
::echo %name%
pause

Win10_x64, работает как надо. Русские символы нормально отображаются и читаются в переменных.

Iska 04-04-2020 22:02 2915827

DarckSol, лучше делайте как положено, не изобретайте велосипед.


Время: 17:40.

Время: 17:40.
© OSzone.net 2001-