![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Передача значения каждой строки в переменную |
|
CMD/BAT - Передача значения каждой строки в переменную
|
Пользователь Сообщения: 105 |
Здравствуйте.
Помогите пожалуйста найти ошибку Выполняю код: for /f "tokens=*" %%a in ('netsh interface ipv4 show config ^| findstr /r "IP-адрес.*192.168.*"') do (for /f "tokens=2 delims=адрес " %%b in ("%%a") do set ip1=%%b ip2=%%c ip3=%%d) set ip1=192.168.220.1 set ip2=%с set ip3=%d всего - три строки. Хотел бы, чтобы каждая из строк сохранилась в переменную. Не получается. |
|
Отправлено: 12:55, 27-05-2021 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 13:46, 27-05-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 105
|
Профиль | Отправить PM | Цитировать Спасибо, megaloman,
Скажите пожалуйста, можно ли как-то в Ваш код добавить вот это for /f "tokens=*" %c in ('netsh interface ipv4 show config ^| findstr /r "Настройка.*интерфейса.*Eth.*"') do (for /f "usebackq tokens=3 delims= " %d in ('%c') do set interface=%d) в командах |
Отправлено: 14:29, 27-05-2021 | #3 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать @echo off for /f "skip=2 tokens=4" %%a in ('netsh interface show interface') do ( echo "%%a" for /f "tokens=*" %%i in ('netsh interface ip show addresses name^="%%a"') do call :# "%%a" "%%i" echo: ) pause& exit :# for /f "tokens=1,2 delims=:" %%a in ("%~2") do ( for /f "tokens=*" %%i in ("%%b") do ( echo %%a|>nul find "DHCP включен" && echo:DHCP включен=%%i echo %%a|>nul find "IP-адрес" && echo:IP-адрес=%%i echo %%a|>nul find "Префикс подсети" && echo:Префикс подсети=%%i echo %%a|>nul find "Основной шлюз" && echo:Основной шлюз=%%i echo %%a|>nul find "Метрика шлюза" && echo:Метрика шлюза=%%i echo %%a|>nul find "Метрика интерфейса" && echo:Метрика интерфейса=%%i ) ) exit /b |
Отправлено: 23:29, 27-05-2021 | #4 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать @Echo Off cls >nul chcp 866 Set "FindInf=^Настройка интерфейса .*$" Set "FindIP=^ *IP-адрес *192\.168\..*$" rem Set "FindIP=^ *IP-адрес *.*$" Set /A N=0 For /f "usebackq delims=" %%s In (`netsh interface ipv4 show config`) Do ( For /f "usebackq delims=" %%f In (`Echo %%s^| findstr.exe /R /I /C:"%FindInf%"`) Do Set "Inf=%%f" For /f "usebackq delims=" %%i In (`Echo %%s^| findstr.exe /R /I /C:"%FindIP%"`) Do ( Set "IP=%%i" Call Set /A N+=1 Call Set "@ip%%N%%=%%IP:* =%%" Call Set "interface%%N%%=%%Inf:* "=%% ) ) Echo %N% Set "@ip" Set "interface" Echo "%interface1%" %@ip1% pause Exit /B |
|
------- Последний раз редактировалось megaloman, 28-05-2021 в 08:01. Отправлено: 07:30, 28-05-2021 | #5 |
Пользователь Сообщения: 105
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 16:24, 28-05-2021 | #6 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Читайте findstr /?
У меня применяется в поиске регулярные выражения Познакомьтесь с регулярными выражениями, например здесь, или найдите еще что-нибудь. |
------- Отправлено: 17:27, 28-05-2021 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Ввод с клавиатуры значения в переменную | river123 | Скриптовые языки администрирования Windows | 8 | 28-05-2018 00:17 | |
CMD/BAT - [решено] Добавление строки после каждой строки с подстановкой значения в имя файла | d22cva | Скриптовые языки администрирования Windows | 5 | 05-01-2015 07:50 | |
CMD/BAT - [решено] Увеличение значения имени переменной или считывание строки файла в переменную | VokaMut | Скриптовые языки администрирования Windows | 12 | 26-11-2012 15:54 | |
Передача пути через переменную в NSIS | Dezmont777 | Автоматическая установка приложений | 6 | 23-08-2012 01:06 | |
CMD/BAT - [решено] Разобрать txt, на строки и назначить каждой переменную | campbell | Скриптовые языки администрирования Windows | 6 | 26-11-2011 01:32 |
|