1 (изменено: DRON4eg, 2017-05-31 12:23:30)

Тема: CMD/BAT: Список ключей реестра в переменные для экспорта

Доброго времени суток

Имеем


set dir=%~dp0%username%
set "exec=wmic useraccount where (name='%username%' and domain='%userdomain%') get sid /value"
for /f %%i in (' "%exec%" ') do 1>nul set "%%i"
if not exist "%dir%" mkdir "%dir%"
REG EXPORT "HKLM\SOFTWARE\Crypto Pro\Settings\Users\%sid%\keys" "%dir%\%username%.reg" /y

Этот кусочек работает и но тупо экспортирует всё содержимое ветки keys в файл текущего пользователя

Задача собственно такая, хотелось бы немного модифицировать его...
И так с помощью команды

REG QUERY "HKLM\SOFTWARE\Crypto Pro\Settings\Users\%sid%\keys"

получаем список веток реестра (причём их может быть от 0 до over9999 )
пример строки - HKLM\SOFTWARE\Crypto Pro\Settings\Users\SID ПОЛЬЗОВАТЕЛЯ\keys\УНИКАЛЬНОЕ ИМЯ КЛЮЧА
а как сделать, так чтобы каждая строка в результате получала бы свою переменную например с присвоением пути
например так
1 = HKLM\SOFTWARE\Crypto Pro\Settings\Users\SID ПОЛЬЗОВАТЕЛЯ\keys\УНИКАЛЬНОЕ ИМЯ КЛЮЧА
2 = HKLM\SOFTWARE\Crypto Pro\Settings\Users\SID ПОЛЬЗОВАТЕЛЯ\keys\УНИКАЛЬНОЕ ИМЯ КЛЮЧА
3 = HKLM\SOFTWARE\Crypto Pro\Settings\Users\SID ПОЛЬЗОВАТЕЛЯ\keys\УНИКАЛЬНОЕ ИМЯ КЛЮЧА
* = ********
или массив переменных, чтобы это дело можно было экспортировать
Не могу сообразить как это сделать...
И реально ли сделать такое?

Для понятие "для чего данный велосипед":
Хотелось бы после получения списка ключей экспортировать найденные ключи каждый в отельный reg файл

ADD:
Частично осилил, но извлекает только последнюю полученную строку

For /f "delims=" %%I In ('Reg Query "HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\%SID%\keys"') Do REG EXPORT "%%I" "%dir%\%username%.reg" /y

и как сделать, что бы в имени файла присутствовало уникальное имя ключа?

2

Re: CMD/BAT: Список ключей реестра в переменные для экспорта

Предложения в русском языке начинаются с заглавных букв и оканчиваются, например, точкой. Внесите коррективы.