Powershell 将多个密钥导出到一个 .reg 文件
Powershell Export Multiple Keys To One .reg File
我想将多个注册表项导出到同一个 .reg 文件。我看到的每个建议都显示使用 reg /e [key name] filename.reg,但我有一个 4-5 个注册表条目的列表,我想导出并且这样做每次都会覆盖它。
我想要的是这样的:
- 导出HKLM\Software\Test\ABCRegFile.reg
- 导出 HKLM\Software\ABC3 RegFile.reg
- 导出 HKLM\Software\XYZ\Lala RegFile.reg
以便每个注册表项都附加到同一个 .reg 文件,而不是每次都被覆盖。我该怎么做?
最简单的方法是单独导出每个密钥,然后合并生成的文件:
$keys = 'HKLM\Software\Test\ABC', 'HKLM\Software\ABC3', ...
$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
我在使用 Ansgar 解决方案时遇到错误,但我能够通过稍微修改它来使其工作。当第一次使用 set-content 时,add-content 将不起作用,因为文件正在使用中。
$keys = 'HKLM\Software\Test\ABC', 'HKLM\Software\ABC3', ...
$tempFolder = $temp_cache
$outputFile = "C:\path\to\merged.reg"
$keys | % {
$i++
& reg export $_ "$tempFolder$i.reg" /y
}
Get-Content "$tempFolder\*.reg" | Set-Content $outputFile
我想将多个注册表项导出到同一个 .reg 文件。我看到的每个建议都显示使用 reg /e [key name] filename.reg,但我有一个 4-5 个注册表条目的列表,我想导出并且这样做每次都会覆盖它。 我想要的是这样的:
- 导出HKLM\Software\Test\ABCRegFile.reg
- 导出 HKLM\Software\ABC3 RegFile.reg
- 导出 HKLM\Software\XYZ\Lala RegFile.reg
以便每个注册表项都附加到同一个 .reg 文件,而不是每次都被覆盖。我该怎么做?
最简单的方法是单独导出每个密钥,然后合并生成的文件:
$keys = 'HKLM\Software\Test\ABC', 'HKLM\Software\ABC3', ...
$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
我在使用 Ansgar 解决方案时遇到错误,但我能够通过稍微修改它来使其工作。当第一次使用 set-content 时,add-content 将不起作用,因为文件正在使用中。
$keys = 'HKLM\Software\Test\ABC', 'HKLM\Software\ABC3', ...
$tempFolder = $temp_cache
$outputFile = "C:\path\to\merged.reg"
$keys | % {
$i++
& reg export $_ "$tempFolder$i.reg" /y
}
Get-Content "$tempFolder\*.reg" | Set-Content $outputFile