如何从命令提示符编辑 Windows 注册表
已发表: 2022-01-29Windows 和许多第三方应用程序将设置存储在注册表中。 如果您想编辑注册表,有几种方法可以做到。 以下是从命令提示符编辑 Windows 注册表的方法。
在我们开始之前,请务必在进行任何编辑之前备份注册表以及您的计算机。 一个错误的举动可能会使您的系统不稳定甚至完全无法运行。 如果出现问题,您还可以创建系统还原点以快速回滚系统。
相关: Windows 10 的 10 个最佳注册表黑客
Microsoft 自己公开声明,添加、修改或删除 Windows 注册表子项和值只能由高级用户、管理员和 IT 专业人员完成。 在进行更改之前要小心。
从命令提示符编辑 Windows 注册表
有很长的 reg 操作列表。 我们将给出几个示例来说明如何执行基本操作。 如果您对完整的操作列表、每种语法以及每种语法中的参数所代表的含义感兴趣,请查看文章底部的列表。
准备好编辑 Windows 注册表后,以管理员身份打开命令提示符。
以管理员身份打开命令提示符
要以管理员身份打开命令提示符,请在 Windows 搜索栏中键入“cmd”。
接下来,右键单击搜索结果中的“命令提示符”应用程序,然后从菜单中选择“以管理员身份运行”。
命令提示符现在将以管理员模式打开,我们可以开始编辑 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>的帮助。 |