![]() |
Поиск нескольких строк в файле и запись их в переменную
Вложений: 1
Всем привет. Помогите пожалуйста разобраться с поиском информации в wim-файле.
Не хитрыми действиями достал почти всю инфу о содержимом файла, кроме имеющихся языков. Нужно осуществить поиск всех имеющихся языков в образе при помощи Dism и вывести их список. Пример поиска для ясности вопроса:
@echo off
cls :inform for /f "tokens=* delims=: " %%c in ('Dism.exe /English /Get-WimInfo /WimFile:"C:\install.wim" /Index:1 ^| findstr /i Languages') do (set ImgLanguages=%%c) echo. echo Список языков: %ImgLanguages% pause Если таким способом искать индекс, имя или другую информацию, то никаких проблем не возникает. Но с языками дело обстоит иначе. В "findstr" искомое слово "Languages" после себя не содержит никаких данных, все данные (список имеющихся языков) расположены на строках ниже(в столбик). Вот тут я и споткнулся. Как вывести список языков расположенных ниже "Languages" и записать их в переменную(ые)? Прикреплю скрин отображения информации в Dism. |
Alex S, в PowerShell
Код:
(Get-WindowsImage -imagepath "E:\sources\install.wim" -index 1).languages Результат
Код:
[PS <4> C:\…\system32] Get-WindowsImage -imagepath "E:\sources\install.wim" -index 1 |
За неимением на чем показать - так:
file.txt Скрытый текст
stroka1 : z1 stroka2 : z2 Languages : [tab]en-US [tab]ru-RU (Default) The operation ... код Код:
@echo off Скрытый текст
en-US ru-RU (Default) |
Пробовал так, результата нет:
Код:
for /f "delims=" %%a in ('DISM /English /Get-WimInfo /WimFile:"C:\install.wim" /Index:1 ^| findstr /rc:"^ "') do call :# "%%~a" При использовании такого способа: Код:
for /f "tokens=2 delims=:<> " %%a in ('Imagex.exe /info "C:\install.wim" 1 ^| findstr /i Language') do call :# "%%~a" Код:
Обнаруженные языки: Остается вопрос, как убрать лишнее из окна вывода(знак равно), ну и что будет если языков будет больше? |
Цитата:
Ну, если прям надо именно cmd, то: Код:
for /f "delims=" %%a in ( MS-LCID |
|
Alex S, установите WMF 5.1 https://www.microsoft.com/en-us/down....aspx?id=54616
У вас древняя версия пошика |
Цитата:
Код:
$psversiontable Цитата:
Код:
@echo off |
|
Цитата:
Цитата:
|
Цитата:
Что выдает: Код:
get-command -mod dism Цитата:
Вместо set x, можно написать: Код:
echo [%x1%] - [%x2%] - [%x3%] |
Цитата:
Всем спасибо за помощь. Из написанного в теме, выбрал для себя самое подходящее. Тему считаю решённой. |
Время: 17:45. |
Время: 17:45.
© OSzone.net 2001-