我正在尝试向 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