Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Передача переменной из цикла for

Ответить
Настройки темы
CMD/BAT - [решено] Передача переменной из цикла for

Новый участник


Сообщения: 26
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте.

Пишу небольшой батник. Вот "проблемная" часть кода:

Код: Выделить весь код
route print 0.0.0.0 MASK 128* -4>>temp.txt //выводим таблицу маршрутов в файл
FINDSTR /c:"10." temp.txt>tmp.txt //ищем строку с нужным шлюзом
FOR /F "tokens=2,3* delims= " %%i in (tmp.txt) do @echo %%i %%j % >tmp1.txt //убираем лишние данные
FOR /F "tokens=2,3* delims= " %%i in (tmp1.txt) do @echo %%i %%j //присваиваем ip шлюза переменной j
route add 208.85.40.50 %%j //выполняем добавление маршрута со значением переменной j
route add 208.85.40.80 %%j
route add 208.85.40.20 %%j
До добавления маршрута все работает прекрасно (если сделать вывод FOR /F "tokens=2,3* delims= " %%i in (tmp1.txt) do @echo %%i %%j в txt, увидим нужный IP).
Однако дальше начинается какая-то ересь. Т.е. выполняется просто route add 208.85.40.50, без IP шлюза, что приводит к выводу справки. Короче, данные из переменной не подставляются. Думал, что вызываю ее неправильно, пробовал вызывать как %j - тогда пишет "Ошибка параметра" (выполняется команда route add 208.85.40.50 j). Пробовал как %j%, результат как и в первом случае.

Прошу помощи.

Заранее огромное спасибо!

Отправлено: 13:13, 14-08-2011

 

Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


Vilgelm,
А без временных файлов? Может так проще?
Код: Выделить весь код
@echo off

for /f "tokens=3" %%i in ('route print 0.0.0.0 MASK 128* -4 ^| findstr "10\."') do (

    route add 208.85.40.80 %%i

)
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:47, 14-08-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 26
Благодарности: 0

Профиль | Отправить PM | Цитировать


Foreigner Офигеть, спасибо огромное!

Отправлено: 15:27, 14-08-2011 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Передача переменной из цикла for

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как работать с переменной внутри цикла FOR? alex_past Скриптовые языки администрирования Windows 42 28-11-2018 16:19
C/C++ - Передача переменной в другую программу. ikif Программирование и базы данных 1 29-04-2011 21:50
CMD/BAT - [решено] Передача значения переменной в IF при EnableExtensions kotik147 Скриптовые языки администрирования Windows 1 19-05-2010 09:22
Передача переменной на другую страничку darksmoke Вебмастеру 6 28-08-2008 01:04
Передача переменной из PHP в JavaScript rulllesss Вебмастеру 1 25-07-2005 09:27




 
Переход