Я пытаюсь либо найти, либо создать список всех разделов реестра, которые существуют в нескольких версиях Windows. Я интенсивно искал в Интернете, не найдя ни одного такого списка или команды для рекурсивного создания такого списка. Кто-нибудь знает, как получить такой список?
3 ответа
Благодаря комментарию IT Solutions я нашел ответ на этот вопрос. Ниже приведен код командной строки:
reg.exe export HKEY_LOCAL_MACHINE C:\path\machine_registry.txt
reg.exe export HKEY_CLASSES_ROOT C:\path\local_registry.txt
reg.exe export HKEY_CURRENT_USER C:\path\current_registry.txt
reg.exe export HKEY_USERS C:\path\users_registry.txt
reg.exe export HKEY_CURRENT_CONFIG C:\path\config_registry.txt
из командной строки:
reg.exe export HKLM\hardware hklm-hw.reg
reg.exe export HKLM\sam hklm-sam.reg
reg.exe export HKLM\security hklm-sec.reg
reg.exe export HKLM\software hklm-sw.reg
reg.exe export HKLM\system hklm-sys.reg
'' the same for HKCU branch
reg.exe export HKCU\folders hkcu-folders.reg
и так далее ... затем проанализируйте, что вы хотите, или используйте опцию compare
чтобы получить разницу
Вы также можете использовать WinMerge для сравнения и получения diff
между снимками реестра
Чтобы сохранить весь реестр в текстовом формате, просто запустите regedit.exe
и экспортируйте все из корня реестра.
Если вы хотите сделать это программно, то на этот вопрос уже есть ответ: https://stackoverflow.com/q/6825555
Вы можете использовать PowerShell!
Function ListSubkeys($rootKey) {
Get-ChildItem -LiteralPath $rootKey -ErrorAction SilentlyContinue | % {
$_.Name # Output the item's name
ListSubkeys $_.Name # Recurse into its subkeys
}
}
Push-Location $args[0]
ListSubkeys $args[0]
Pop-Location
Этот скрипт определяет рекурсивную функцию ListSubkeys
и затем вызывает ее. Чтобы использовать его, сохраните этот код в виде файла .ps1
. Следуя инструкциям в разделе «Включение сценариев» вики-тега PowerShell, вы можете запустить его из командной строки PowerShell, например, указав имя файла и начальный ключ в формате пути PowerShell (конечный \
важен):
.\regkeys.ps1 'HKLM:\'
Чтобы отправить вывод в файл, используйте оператор перенаправления >
, например так:
.\regkeys.ps1 'HKCU:\' > C:\Users\me\Documents\allmyHKCUkeys.txt
Обратите внимание, что HKCR на самом деле представляет собой комбинацию записей из мест в HKLM и HKCU, поэтому экспорт будет дублировать.