不覆盖的情况下导入Reg

不覆盖的情况下导入Reg

我正在尝试向 Windows 注册表添加项而不进行替换。我尝试过这种方法来导入注册表:

Regedit.exe /s "C:\reg\file.reg"

但这会覆盖当前存在的密钥。

我也尝试了“Reg Add”命令;这也会覆盖现有值。

如何使用命令导入 .reg 文件内容而不覆盖现有的键和值?

另外,如何将数据附加到注册表值?例如,我有

Value=dword:00000001

现在我想添加00000002相同的值,即

Value=dword:00000001, 00000002

如何使用 Windows 命令实现这一点?

答案1

对于任何看到这篇文章的人来说,答案都很简单。

由于 Windows 10 及其经常无缘无故出错的能力,我不得不这样做过几次。

当发生这种情况时,我会从旧机器中导出本地机器 \ 软件密钥(或您需要的任何注册密钥)中的所有内容。

接下来是重要的部分 - 从新机器中提取现有注册表。然后加载 regedit 并导入旧注册表文件。(不要关闭 REGEDIT!)然后只需重新导入刚刚创建的新文件即可。

这在我多次使用中都起到了作用,节省了几个月的重新安装时间(尤其是因为我的一半应用程序无法在 Windows 10 下安装,但可以在 Windows 7 下运行,而我升级到 Windows 10 后仍然可以运行)。

例如,如果您必须处理新安装,您也可以复制所有旧应用程序和文件夹(不要覆盖现有文件),您的所有应用程序及其所需的文件都可以运行。

答案2

我认为我们不能在注册表项中添加这样的值。

像这样添加 2 个值:

在此处输入图片描述

或者只定义一个带有两个值数据的值名称,一个表示启用,两个表示禁用。

查看注册表项的结构:https://msdn.microsoft.com/en-us/library/windows/desktop/ms725490(v=vs.85).aspx

相关内容