Поиск реестра по значениям данных, а затем их экспорт через пакет

Lost Key спросил: 12 мая 2018 в 03:42 в: batch-file

Я пытаюсь создать скрипт, который будет искать корневой ключ для данных значения, а затем экспортировать все результаты. Я не уверен, как экспортировать результаты при использовании инструкции for. Я использую pipe /s | find для поиска данных значения. Любые советы или советы будут очень благодарны!

INFO о ключе:

Rootkey: HKLM | Подключить: Unkown (изменения для каждой машины, начало с"\ SYSTEM \ ControlSet001 \ Enum \") | Значение: ClassGUID | Данные: {4d36e967-e325-11ce-bfc1-08002be10318}

Текущая попытка:

@for %%I in ('reg query "HKLM\SYSTEM\ControlSet001\Enum" /v "ClassGUID" /s | find "{4d36e967-e325-11ce-bfc1-08002be10318}"') do (reg export %%~I %~dp0export.txt)


В предыдущей попытке

Ранее - я пытался получить фактический путь Subkey после поиска его с помощью value & data. Из-за ограничений местоположение не является частью DataType. - В связи с этим я теперь пытаюсь выполнить экспорт результатов поиска. Оттуда я могу создать variable, выполнив поиск в текстовом документе.

1 ответ

Есть решение
Compo ответил: 12 мая 2018 в 04:18

Следующий пример сценария предназначен для установки и вывода переменных, содержащих данные из всех строковых значений с именем FriendlyName, под всеми разделами реестра, которые начинаются с HKLM\SYSTEM\CurrentControlSet\Enum\ и которые также содержат данные о ценности, включая GUID, {4d36e967-e325-11ce-bfc1-08002be10318}.

@Echo Off
For /F "Delims==" %%A In ('Set DeviceName[ 2^>Nul') Do Set "%%A="
Set "i=0"
For /F "EOL= Delims=" %%A In ('Reg Query "HKLM\SYSTEM\CurrentControlSet\Enum"^
 /S /F "{4d36e967-e325-11ce-bfc1-08002be10318}" /D^|Find /I "Enum"'
) Do Set /A i+=1 & For /F "Skip=1 Tokens=2*" %%B In ('Reg Query "%%A"^
 /V "FriendlyName" 2^>Nul') Do Call Set DeviceName[%%i%%]=%%C
Set DeviceName[ 2>Nul
Pause
Lost Key ответил: 12 мая 2018 в 04:47
Этот код блестящий! Если я хочу добавить, будет ли способ изменить пример, %DeviceName[1]% на set Name=NewName ..?
LotPings ответил: 12 мая 2018 в 05:07
Это хороший +1
Mofi ответил: 13 мая 2018 в 08:14
Отличный сценарий, чтобы получить список всех дисков (жестких дисков, USB-накопителей), когда-либо подключенных к компьютеру под управлением Windows Vista или более новой версии Windows.