无法合并 Windows 注册表

sdo*_*oca 7 windows-registry windows-7

我的计算机(Windows 7 Pro 64 位)出现问题,我们的支持人员说这与我登录到临时配置文件有关。所以,他为我创建了一个新的个人资料。但是,现在我丢失了 PuTTY 和 WinSCP 配置,因为它们存储在注册表中。我想出了如何从我的旧配置文件加载配置单元并导出 WinSCP 和 PuTTY 分支。但是,我无法将它们合并到注册表中;我收到“访问注册表时出错”消息。我有管理员权限,可以通过 regedit 访问注册表。为什么我不能合并来自同一台机器的导出?

谢谢!

编辑

这是我在将其转换为 ASCII 后从注册表导出的 putty.reg 文件的片段:

Windows Registry Editor Version 5.00

[HKEY_USERS\SimonTatham\Software\SimonTatham]

[HKEY_USERS\SimonTatham\Software\SimonTatham\PuTTY]

[HKEY_USERS\SimonTatham\Software\SimonTatham\PuTTY\Jumplist]
"Recent sessions"=hex(7):63,00,73,00,70,00,32,00,74,00,68,00,31,00,6e,00,6f,00,\
  20,00,28,00,70,00,72,00,6f,00,64,00,29,00,00,00,74,00,68,00,32,00,2e,00,6e,\
  00,6f,00,2e,00,63,00,67,00,2e,00,6e,00,6d,00,73,00,2e,00,6d,00,6c,00,62,00,\
  2e,00,69,00,6e,00,65,00,74,00,20,00,28,00,70,00,72,00,6f,00,64,00,29,00,00,\
  00,74,00,68,00,32,00,2e,00,6e,00,6f,00,2e,00,63,00,67,00,2e,00,6c,00,61,00,\
  62,00,2e,00,6e,00,6d,00,73,00,2e,00,6d,00,6c,00,62,00,2e,00,69,00,6e,00,65,\
  00,74,00,20,00,28,00,6c,00,61,00,62,00,29,00,00,00,73,00,63,00,6d,00,32,00,\
  2e,00,6e,00,6f,00,2e,00,63,00,67,00,2e,00,6e,00,6d,00,73,00,2e,00,6d,00,6c,\
  00,62,00,2e,00,69,00,6e,00,65,00,74,00,00,00,63,00,73,00,70,00,31,00,74,00,\
  68,00,31,00,7a,00,7a,00,20,00,28,00,6c,00,61,00,62,00,29,00,00,00,63,00,73,\
  00,70,00,32,00,74,00,68,00,31,00,73,00,6f,00,20,00,28,00,70,00,72,00,6f,00,\
  64,00,29,00,00,00,74,00,68,00,31,00,2e,00,6e,00,6f,00,2e,00,63,00,67,00,2e,\
  00,6e,00,6d,00,73,00,2e,00,6d,00,6c,00,62,00,2e,00,69,00,6e,00,65,00,74,00,\
  20,00,28,00,70,00,72,00,6f,00,64,00,29,00,00,00,74,00,68,00,31,00,2e,00,6e,\
  00,6f,00,2e,00,63,00,67,00,2e,00,6c,00,61,00,62,00,2e,00,6e,00,6d,00,73,00,\
  2e,00,6d,00,6c,00,62,00,2e,00,69,00,6e,00,65,00,74,00,00,00,77,00,62,00,33,\
  00,63,00,6f,00,2e,00,73,00,6f,00,63,00,2e,00,73,00,68,00,61,00,77,00,2e,00,\
  63,00,61,00,00,00,73,00,72,00,31,00,2e,00,6e,00,6f,00,2e,00,63,00,67,00,2e,\
  00,6f,00,73,00,73,00,2e,00,6d,00,6c,00,62,00,2e,00,69,00,6e,00,65,00,74,00,\
  00,00,74,00,68,00,31,00,30,00,2d,00,70,00,72,00,6f,00,64,00,00,00,61,00,70,\
  00,70,00,36,00,73,00,6f,00,63,00,6c,00,61,00,62,00,00,00,00,00
Run Code Online (Sandbox Code Playgroud)

由于文件超过 3000 行,我不会全部发布。文件的 unicode 版本(转换前)以ÿþ 开头,每个字符之间有一个空格,每个新行之间有一个空行。例如:

ÿþW i n d o w s   R e g i s t r y   E d i t o r   V e r s i o n   5 . 0 0 


[ H K E Y _ U S E R S \ S i m o n T a t h a m \ S o f t w a r e \ S i m o n T a t h a m ]


[ H K E Y _ U S E R S \ S i m o n T a t h a m \ S o f t w a r e \ S i m o n   T a t h a m \ P u T T Y ]
Run Code Online (Sandbox Code Playgroud)

小智 7

问题在于HKEY_USERS您的 Windows 安装和您希望合并的注册表文件中的 ID不同。

我在将腻子配置导出到新的 Windows 7 环境时遇到了完全相同的问题。这是我解决它的方法:

  • 右键单击 putty.reg 文件并选择“编辑”选项
  • 在机器上打开 regedit 将 putty 配置与
  • 从新机器复制用户 ID# HKEY_USERS\\*your user ID# is here*
  • 在 putty.reg 的编辑窗口中用新 ID# 替换旧 ID#
  • 您应该能够毫无问题地合并注册表文件。

  • 实际上,您不必为新的 ID# 烦恼。您需要做的就是使用 HKEY_CURRENT_USER\blahblah 而不是 HKEY_USERS\old-id\blahblah。 (3认同)

jft*_*uga 5

如果您尝试从 cmd 提示符执行此操作,则必须右键单击开始菜单中的 cmd 图标并选择“以管理员身份运行”。即使您已经是系统管理员,您也必须这样做。

然后您应该能够合并注册表项。

  • 好的,我尝试通过命令行(以管理员身份)进行合并,但仍然出现相同的错误。我还尝试导入到我从管理员命令行打开的 regedit 中,但遇到了同样的错误。:( (2认同)