如何从命令提示符编辑 Windows 注册表

已发表: 2022-01-29

微软视窗 10 徽标

Windows 和许多第三方应用程序将设置存储在注册表中。 如果您想编辑注册表,有几种方法可以做到。 以下是从命令提示符编辑 Windows 注册表的方法。

在我们开始之前,请务必在进行任何编辑之前备份注册表以及您的计算机。 一个错误的举动可能会使您的系统不稳定甚至完全无法运行。 如果出现问题,您还可以创建系统还原点以快速回滚系统。

相关: Windows 10 的 10 个最佳注册表黑客

Microsoft 自己公开声明,添加、修改或删除 Windows 注册表子项和值只能由高级用户、管理员和 IT 专业人员完成。 在进行更改之前要小心。

从命令提示符编辑 Windows 注册表

有很长的 reg 操作列表。 我们将给出几个示例来说明如何执行基本操作。 如果您对完整的操作列表、每种语法以及每种语法中的参数所代表的含义感兴趣,请查看文章底部的列表。

准备好编辑 Windows 注册表后,以管理员身份打开命令提示符。

以管理员身份打开命令提示符

要以管理员身份打开命令提示符,请在 Windows 搜索栏中键入“cmd”。

在 windows 搜索栏中搜索 cmd

广告

接下来,右键单击搜索结果中的“命令提示符”应用程序,然后从菜单中选择“以管理员身份运行”。

Windows 搜索中的命令提示符应用程序

命令提示符现在将以管理员模式打开,我们可以开始编辑 Windows 注册表。

了解操作类型

稍后我们将给出 reg 命令的完整列表以及每个相应的语法。 目前,您可以从命令提示符获取操作类型列表以及每个操作的附加帮助。

相关: Windows 注册表揭秘:你可以用它做什么

要获取操作列表,请运行以下命令:

 注册/?

将出现操作列表以及每个命令的返回代码。

获取操作列表的命令

如 Microsoft 所述,以下是操作列表以及每个操作的功能:

  • 添加:向注册表添加新的子项或条目。
  • 比较:比较指定的注册表子项或条目。
  • 复制:将注册表项复制到本地或远程计算机上的指定位置。
  • 删除:删除子项或条目。
  • 导出:将本地计算机的指定子键、条目和值复制到文件中,以便传输到其他服务器。
  • 导入:将包含导出的注册表子项、条目和值的文件的内容复制到本地计算机的注册表中。
  • 加载:将保存的子项和条目写入注册表中的不同子项。 这旨在与用于故障排除或编辑注册表项的临时文件一起使用。
  • 查询:返回位于注册表中指定子项下的下一层子项和条目的列表。
  • 恢复:将保存的子项和条目写回注册表。
  • 保存:将注册表的指定子项、条目和值的副本保存在指定文件中。
  • 卸载:删除使用REG LOAD加载的注册表部分 手术。

并且,返回码:

  • 0:成功
  • 1:失败
广告

要获得特定操作的帮助,请将操作名称附加到上一个命令的中间:

 REG <操作> /?

因此,如果我需要有关“添加”操作的帮助,我会运行:

 注册添加/?

运行命令以获取有关特定操作的帮助

如您所见,返回了您需要的有关指定操作的所有信息,包括语法、参数,甚至一些示例。

现在我们已经了解了关于REG ADD的所有信息,让我们尝试将其付诸实践。

向注册表添加子项或条目

首先,这是我们使用REG ADD /?检索到的 REG REG ADD的语法。 命令:

 REG ADD <KeyName> [{/v ValueName | /ve}] [/t 数据类型] [/s 分隔符] [/d 数据] [/f]

<KeyName>指定子项的完整路径。 本地计算机的有效根密钥是 HKLM、HKCU、HKCR、HKU 和 HKCC。 您可以将 HKLM 和 HKU 根密钥用于远程计算机。 /v <ValueName>指定要添加到指定子项下的注册表项的名称。 稍后我们将定义其余参数,但对于本示例,这就是我们所需要的。

广告

因此,假设我们要在 HKEY_LOCAL_MACHINE\Software 下添加一个名为 HowToGeekSubkey 的子项。 我们将运行以下命令:

 REG ADD HKLM\Software\HowToGeekSubkey

如果操作成功执行,命令提示符会通知您。

用于向注册表添加子项的命令

如果您想仔细检查操作是否成功,您可以使用注册表编辑器自行查找。

通过在 Windows 搜索栏中键入“regedit”并选择注册表编辑器应用程序来打开注册表编辑器。

打开注册表编辑器

导航到新添加的子项的位置。 在我们的例子中:HKEY_LOCAL_MACHINE > SOFTWARE > HowToGeekSubkey。

如何在注册表中获取子项

现在我们已经确认它在那里,让我们删除它。

从注册表中删除子项或条目

下面是REG DELETE操作的语法:

 REG DELETE <KeyName> [{/v ValueName | /ve | /va}] [/f]

我们现在关心的参数和以前一样。 也就是说, <KeyName>/v valuename

广告

如果我们想从刚刚创建的 HKEY_LOCAL_MACHINE\Software 中删除 HowToGeekSubkey 子项,我们将运行以下命令:

 REG DELETE HKLM\Software\HowToGeekSubkey

这一次,系统会询问您是否真的要删除子项。 键入Yes ,然后按“Enter”。

同样,命令提示符将让您知道操作是否成功执行。

从注册表中删除子项

您可以交叉验证该子项实际上已从注册表编辑器中删除。 导航到子项曾经存在的位置并查看它是否已被删除。

REG 操作、语法和参数说明

虽然我们只介绍了两个简单的例子,但有一个相当大的 REG 操作列表。 每个操作都可能具有复杂的语法。 为了方便访问,我们将在此处列出 Microsoft 提供的所有详细信息。

操作和语法

手术句法
添加REG ADD <KeyName> [{/v ValueName | /ve}] [/t 数据类型] [/s 分隔符] [/d 数据] [/f]
比较REG COMPARE <KeyName1> <KeyName2> [{/v ValueName | /ve}] [{/oa | /od | /操作系统 | 开}] [/秒]
复制REG COPY <KeyName1> <KeyName2> [/s] [/f]
删除REG DELETE <KeyName> [{/v ValueName | /ve | /va}] [/f]
出口

REG EXPORT KeyName FileName [/y]

进口注册导入文件名
加载

REG LOAD KeyName 文件名

询问

REG QUERY <KeyName> [{/v <ValueName> | /ve}] [/s] [/se <分隔符>] [/f <数据>] [{/k | /d}] [/c] [/e] [/t <类型>] [/z]

恢复

REG RESTORE <键名> <文件名>

保存

REG SAVE <键名> <文件名> [/y]

卸下

REG UNLOAD <键名>

参数及参数说明

范围描述
<键名> 指定要添加的子项或条目的完整路径。 要指定远程计算机,请将计算机名称(格式为 \\<ComputerName>)作为KeyName的一部分。 省略 \\ComputerName\ 会导致操作默认为本地计算机。 KeyName必须包含有效的根密钥。 本地计算机的有效根密钥为:HKLM、HKCU、HKCR、HKU 和 HKCC。 如果指定了远程计算机,则有效的根密钥为:HKLM 和 HKU。 如果注册表项名称包含空格,请将项名称用引号引起来。
/v <值名称> 指定要在指定子项下添加的注册表项的名称。
/ve 指定添加到注册表的注册表项具有空值。
/t <类型> 指定要搜索的注册表类型。 有效类型为:REG_SZ、REG_MULTI_SZ、REG_EXPAND_SZ、REG_DWORD、REG_BINARY、REG_NONE。 如果未指定,则搜索所有类型。
/s <分隔符> 当指定 REG_MULTI_SZ 数据类型并且需要列出多个条目时,指定用于分隔多个数据实例的字符。 如果未指定,则默认分隔符为\0
/d <数据> 指定新注册表项的数据。
/F 添加注册表项而不提示确认。
/oa
/od 指定仅显示差异。 这是默认行为。
/操作系统指定仅显示匹配项。 默认情况下,仅列出差异。
/在指定不显示任何内容。 默认情况下,仅列出差异。
/s 递归比较所有子键和条目。
/va 删除指定子项下的所有条目。 指定子项下的子项不会被删除。
<文件名> 指定操作期间要创建的文件的名称和路径。 该文件必须具有 .reg 扩展名。
/y 覆盖名称为FileName的任何现有文件,而不提示确认。
/se <分隔符> 指定要在值名称类型 REG_MULTI_SZ 中搜索的单个值分隔符。 如果未指定分隔符,则使用\0
/f <数据> 指定要搜索的数据或模式。 如果字符串包含空格,请使用双引号。 如果未指定,则使用通配符 ( * ) 作为搜索模式。
/k 指定仅在键名中搜索。
/d 指定仅在数据中搜索。
/C 指定查询区分大小写。 默认情况下,查询不区分大小写。
/e 指定只返回完全匹配。 默认情况下,返回所有匹配项。
/z 指定在搜索结果中包含注册表类型的等效数字。
/? 在命令提示符处显示reg <operation>的帮助。