Тема: 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
и как сделать, что бы в имени файла присутствовало уникальное имя ключа?