如何使用 .reg 文件添加、修改或删除注册表子项和值

注意

  • 本文面向高级用户、管理员和 IT 专业人员。

  • 导入注册条目 (.reg) 文件是 Regedit.exe 的功能,Regedt32.exe 不支持。您可以使用 Regedit.exe 对基于 Windows NT 4.0 或基于 Windows 2000 的计算机上注册表进行一些更改,但某些更改需要 Regedt32.exe。例如,您不能在基于 Windows NT 4.0 或基于 Windows 2000 的计算机上添加或更改REG_EXPAND_SZ或REG_MULTI_SZ值。Regedt32.exe 是 Windows NT 4.0 和 Windows 2000 的主要注册表编辑器。如果必须使用 Regedt32.exe,则不能使用注册条目 (.reg) 文件来修改注册表。有关 Regedit.exe 和 Regedt32.exe 之间的差异的详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:

    141377 Regedit.exe 和 Regedt32.exe 之间的差异

本任务的内容

概要

重要说明 本部分(或称方法或任务)包含有关如何修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请一定严格按照下列步骤操作。 为了获得进一步的保护,请在修改注册表之前对其进行备份。 这样就可以在出现问题时还原注册表。 有关如何备份和还原注册表的更多信息,请单击下面的文章编号查看 Microsoft 知识库中相应的文章:

322756 如何在 Windows 中备份和还原注册表此分步文章介绍如何使用注册条目 (.reg) 文件添加、修改或删除注册表子项和值。Regedit.exe 使用 .reg 文件导入和导出注册表子项和值。您可以使用这些 .reg 文件将注册表更改远程分发到多个基于 Windows 的计算机。运行 .reg 文件时,文件内容将合并到本地注册表中。因此,必须谨慎分发 .reg 文件。 回到顶部

语法。Reg 文件

.reg 文件具有以下语法: 注册表编辑器版本空白行 [注册表路径1] "数据项名称1"="数据类型1数据值1"数据项目名称2"+"数据类型2数据值2"空白行 [注册表路径2] "数据项名称3"="数据类型3数据值3" 其中: 注册表编辑器版本是 Windows 2000、Windows XP 和 Windows 服务器 2003 的"Windows 注册表编辑器版本 5.00",或 Windows 98 和 Windows NT 4.0 的"REGEDIT4"。"REGEDIT4"标头也适用于基于 Windows 2000、基于 Windows XP 和基于 Windows Server 2003 的计算机。 空行是空行。这将标识新注册表路径的开始。每个键或子项都是一个新的注册表路径。如果 .reg 文件中有多个键,空白行可以帮助您检查和排除内容。 注册表Pathx是包含要导入的第一个值的子项的路径。将路径括在方括号中,并通过反斜杠分隔层次结构的每个级别。例如:

[HKEY_LOCAL_ MACHINE\SOFTWARE\Policies\Microsoft\Windows\System].reg 文件可以包含多个注册表路径。如果注册表中不存在路径语句中的层次结构底部,则创建新的子项。注册表文件的内容按您输入的顺序发送到注册表。因此,如果要创建一个新的子项,其下方是另一个子项,则必须以正确的顺序输入行。 DataItemNamex是要导入的数据项的名称。如果文件中的数据项在注册表中不存在,则 .reg 文件将添加它(使用数据项的值)。如果数据项确实存在,则 .reg 文件中的值将覆盖现有值。引号包含数据项的名称。数据项的名称紧接一个等号 (*)。 DataTypex是注册表值的数据类型,并立即跟随等号。对于REG_SZ以外的所有数据类型(字符串值),数据类型之后会立即使用冒号。如果数据类型REG_SZ,则不要包含数据类型值或冒号。在这种情况下,Regedit.exe 假定数据类型REG_SZ。下表列出了典型的注册表数据类型:

数据类型

.reg 中的数据类型

REG_BINARY

十六进制

REG_DWORD

Dword

REG_EXPAND_SZ

hexadecimal(2)

REG_MULTI_SZ

hexadecimal(7)

有关注册表数据类型的详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:

微软视窗注册表的说明 DataValuex紧随冒号(或带有REG_SZ的等号),并且必须采用适当的格式(例如,字符串或十六进制)。对二进制数据项使用十六进制格式。 备注您可以为同一注册表路径输入多个数据项行。 请注意,注册表文件应在文件底部包含一个空白行。 回到顶部

添加注册表子项或添加和更改注册表值

要添加注册表子项或添加或更改注册表值,请确保注册表中的相应更改,然后导出相应的子项或子项。导出的注册表子项将自动保存为 .reg 文件。要对注册表进行更改并将更改导出到 .reg 文件,请按照以下步骤操作:

  1. 依次单击“开始”、“运行”,在“打开”框中键入 regedit,然后单击“确定”。

  2. 找到,然后单击包含要更改的注册表项或项的子项。

  3. 单击"文件",然后单击"导出"。 在进行任何更改之前,此步骤将备份子项。如果更改导致问题,可以稍后将此文件导入注册表。

  4. "文件名"框中,键入一个文件名,用于将 .reg 文件与原始注册表项一起保存,然后单击"保存"。 备注使用提醒您内容的文件名,例如对子项名称的引用。

  5. 在右侧窗格中,添加或修改所需的注册表项。

  6. 重复步骤 3 和 4 再次导出子项,但对 .reg 文件使用不同的文件名。您可以使用此 .reg 文件在另一台计算机上更改注册表。

  7. 在本地计算机上测试您的更改。如果导致问题,请双击保存原始注册表数据的备份的文件,以将注册表返回到其原始状态。如果更改按预期方式工作,则可以使用本文"分发注册表更改"部分中的方法,将步骤 6 中创建的 .reg 分发到其他计算机。

返回页首

删除注册表项和值

要删除具有 .reg 文件的注册表项,请将连字符 (-) 放在 .reg 文件中的注册表路径前面。例如,要从以下注册表项中删除Test子项:

HKEY_LOCAL_MACHINE\Software在 .reg 文件中的以下注册表项前面放置一个连字符:

HKEY_LOCAL_MACHINE\Software\Test下面的示例具有可以执行此任务的 .reg 文件。

[-HKEY_LOCAL_MACHINE\Software\Test]要删除具有 .reg 文件的注册表值,请将一个连字符 (-) 放在 .reg 文件中DataItemName之后的等号之后。例如,要从以下注册表项中删除TestValue注册表值:

HKEY_LOCAL_MACHINE\Software\Test在 .reg 文件中的"TestValue"后放置连字符。下面的示例具有可以执行此任务的 .reg 文件。

HKEY_LOCAL_MACHINE\Software\Test "TestValue"=-若要创建 .reg 文件,请使用 Regedit.exe 导出要删除的注册表项,然后使用记事本编辑 .reg 文件并插入连字符。 回到顶部

重命名注册表项和值

要重命名键或值,请删除该键或值,然后使用新名称创建新的键或值。

分发注册表更改

您可以向电子邮件中的用户发送 .reg 文件,将 .reg 文件放在网络共享上,并将用户定向到网络共享以运行该文件,或者可以向用户的登录脚本添加命令,以在用户登录时自动导入 .reg 文件。当用户运行 .reg 文件时,他们收到以下消息:

注册表编辑器 是否确实要将.reg 文件路径中的信息添加到注册表?如果用户单击"是",则用户将收到以下消息:

注册表编辑器 .reg 文件路径中的信息已成功输入注册表。Regedit.exe 支持/s命令行开关不显示这些消息。例如,要从登录脚本批处理文件中静默运行 .reg 文件(使用/s开关),请使用以下语法:

regedit.exe /s .reg 文件的路径您还可以使用组策略或系统策略在网络上分发注册表更改。有关详细信息,请访问以下 Microsoft 网站:

分发注册表更改 备注如果更改起作用,则可以将注册文件发送给网络上的相应用户。 回到顶部

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×