|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - определить основной шлюз для выбраннго адаптера |
|
CMD/BAT - определить основной шлюз для выбраннго адаптера
|
Новый участник Сообщения: 29 |
|
|
Отправлено: 22:45, 22-03-2017 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Все, я понял. Не стоило использовать notepad++.
Не знаю, что с ним не так. Если редактировать в блокноте, работает. |
Отправлено: 20:00, 11-04-2017 | #31 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать neth1,
чего, notepad++ неплохой редактор, но я лично пользуюсь AkelPad и кстати не только для удобства в настройках надо выставить перенос по строкам, возможно и к notepad++ это относится, ну и нужных плагинов включить для удобства, например подсветка кода в AkelPad мне очень нравиться, причем можно самому допилить что я успешно и сделал. |
Отправлено: 00:10, 12-04-2017 | #32 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Цитата alpap:
|
|
------- Отправлено: 00:41, 12-04-2017 | #33 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Я не знаю в чем проблема с notepad++. Сохранял в 866.
Теперь проблема с использованием полученного адреса шлюза. Как записать %shl: =% в "route add"? Безрезультатно погуглил и поэксперементировал с кавычками, все время выдает "неверный адрес шлюза". |
Отправлено: 00:59, 12-04-2017 | #34 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать |
Отправлено: 03:46, 12-04-2017 | #35 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Вот так вырисовывается:
@echo off set "na=openvpn" set "shl=" for /f "delims=[]" %%a in ('ipconfig /all^|find /n "%na%"') do set "ns=%%a" for /f "tokens=2 delims=:" %%a in ('ipconfig /all^|more +%ns%^|find "Основной шлюз"') do if not defined shl set "shl=%%a" echo %shl: =% set "na=ethernet" set "shl=" for /f "delims=[]" %%b in ('ipconfig /all^|find /n "%nb%"') do set "ns=%%b" for /f "tokens=2 delims=:" %%b in ('ipconfig /all^|more +%ns%^|find "Основной шлюз"') do if not defined shl set "shb=%%b" echo %shb: =% route delete 0.0.0.0 mask 0.0.0.0 route add -p %shb: =% mask 255.255.255.255 %shl: =% route add 0.0.0.0 mask 0.0.0.0 %shl: =% pause |
Отправлено: 06:52, 12-04-2017 | #36 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Цитата neth1:
REM Присвоить переменной na значение openvpn set na=openvpn REM Сбросить (удалить) переменную shl set shl= Цитата neth1:
|
||
------- Последний раз редактировалось mwz, 12-04-2017 в 10:31. Отправлено: 10:18, 12-04-2017 | #37 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать mwz, а что не так с кавычками в set?
|
Отправлено: 10:33, 12-04-2017 | #38 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Iska:
Но может и отстал от жизни. PS А, увидел: При использовании любых логических или двоичных операторов необходимо заключить строку выражения в кавычки. Любые нечисловые строки в выражении рассматриваются как имена переменных среды, значения которых преобразуются в числовой вид перед использованием. Если переменная с указанным именем не определена в системе, вместо нее подставляется нулевое значение. |
|
------- Последний раз редактировалось mwz, 12-04-2017 в 11:04. Отправлено: 10:53, 12-04-2017 | #39 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Рабочий вариант скрипта:
set na=openvpn set shl= for /f "delims=[]" %%a in ('ipconfig /all^|find /n "%na%"') do set "ns=%%a" for /f "tokens=2 delims=:" %%a in ('ipconfig /all^|more +%ns%^|find "Основной шлюз"') do if not defined shl set "shl=%%a" echo %shl: =% set na=ethernet set vhb= for /f "delims=[]" %%b in ('ipconfig /all^|find /n "%nb%"') do set "nv=%%b" for /f "tokens=2 delims=:" %%b in ('ipconfig /all^|more +%nv%^|find "Основной шлюз"') do if not defined shl set "vhb=%%b" echo %vhb: =% route delete 0.0.0.0 mask 0.0.0.0 route add -p %vhb% mask 255.255.255.255 %shl% route add 0.0.0.0 mask 0.0.0.0 %shl% pause Спасибо всем за помощь. |
Отправлено: 13:07, 12-04-2017 | #40 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2008 R2 - Основной шлюз | aus | Windows Server 2008/2008 R2 | 15 | 03-07-2013 13:37 | |
Разное - Основной шлюз :S | apk.apocalypses | Сетевые технологии | 2 | 22-02-2012 14:36 | |
VPN S-T-S как основной шлюз | Tele2 | ISA Server / Microsoft Forefront TMG | 5 | 19-08-2010 15:30 | |
Основной шлюз | wik7000 | Microsoft Windows NT/2000/2003 | 11 | 17-11-2006 13:19 |
|