Powershell Export Multiple Keys To One .reg File

Issue

I would like to export multiple registry keys to the same .reg file. Every suggestion I’ve seen shows to use reg /e [key name] filename.reg, but I have a list of 4-5 registry entries I want to export and doing it this way will overwrite it each time.
What I want is something like:

  • Export HKLM\Software\Test\ABC RegFile.reg
  • Export HKLM\Software\ABC\123 RegFile.reg
  • Export HKLM\Software\XYZ\Lala RegFile.reg

So that each registry key is appended to the same .reg file, not overwritten each time. How can I do this?

Solution

The simplest way would be to export each key individually, and then merge the resulting files:

$keys = 'HKLM\Software\Test\ABC', 'HKLM\Software\ABC\123', ...

$tempFolder = 'C:\temp\folder'
$outputFile = 'C:\path\to\merged.reg'

$keys | % {
  $i++
  & reg export $_ "$tempFolder\$i.reg"
}

'Windows Registry Editor Version 5.00' | Set-Content $outputFile
Get-Content "$tempFolder\*.reg" | ? {
  $_ -ne 'Windows Registry Editor Version 5.00'
} | Add-Content $outputFile

Answered By – Ansgar Wiechers

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published