Applies ToWindows 7 Enterprise Windows 7 Professional Windows 7 Home Basic Windows 7 Home Premium Windows 7 Starter Windows 7 Ultimate Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Datacenter Windows Server 2008 R2 for Itanium-Based Systems Windows Server 2008 R2 Foundation Windows Server 2008 R2 Standard Microsoft Windows XP Home Edition Microsoft Windows XP Professional Microsoft Windows XP Professional x64 Edition Microsoft Windows XP Tablet PC Edition Windows Server 2008 Datacenter Windows Server 2008 Enterprise Windows Server 2008 for Itanium-Based Systems Windows Server 2008 Foundation Windows Vista Business Windows Vista Enterprise Windows Vista Home Basic Windows Vista Home Premium Windows Vista Starter Windows Vista Ultimate Windows Server 2008 Datacenter without Hyper-V Windows Server 2008 Enterprise without Hyper-V Windows Server 2008 R2 Service Pack 1 Windows Server 2008 Service Pack 2 Windows Server 2008 Standard without Hyper-V Windows Vista Business 64-bit Edition Windows Vista Enterprise 64-bit Edition Windows Vista Home Basic 64-bit Edition Windows Vista Home Premium 64-bit Edition Windows Vista Service Pack 2 Windows Vista Ultimate 64-bit Edition Windows 7 Service Pack 1

注意

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

  • (.reg) 文件导入注册项是 Regedit.exe 的一项功能,Regedt32.exe 不支持。 可以使用 Regedit.exe 对基于 Windows NT 4.0 或基于 Windows 2000 的计算机上的注册表进行一些更改,但某些更改需要 Regedt32.exe。 例如,在基于 Windows NT 4.0 或基于 Windows 2000 的计算机上,不能使用 Regedit.exe 添加或更改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 文件具有以下语法:RegistryEditorVersion空白行 [RegistryPath1]DataItemName1”=“DataType1DataValue1DataItemName2“=”DataType2DataValue2空白行 [RegistryPath2]DataItemName3”=“DataType3DataValue3 其中:RegistryEditorVersion 是 Windows 2000、Windows XP 和 Windows Server 2003 的“Windows 注册表编辑器版本 5.00”,或者是 Windows 98 和 Windows NT 4.0 的“REGEDIT4”。 “REGEDIT4”标头也适用于基于 Windows 2000、基于 Windows XP 和基于 Windows Server 2003 的计算机。空行 是空白行。 这将标识新注册表路径的开头。 每个项或子项都是一个新的注册表路径。 如果.reg文件中有多个键,则空白行可帮助你检查和排查内容问题。RegistryPathx 是包含要导入的第一个值的子项的路径。 将路径括在方括号中,并用反斜杠分隔层次结构的每个级别。 例如:

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

数据类型

.reg中的 DataType

REG_BINARY

十六进制

REG_DWORD

Dword

REG_EXPAND_SZ

十六进制 (2)

REG_MULTI_SZ

十六进制 (7)

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

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

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

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

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

  2. 找到并单击包含要更改的注册表项的子项。

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

  4. 在“ 文件名 ”框中,键入用于保存包含原始注册表项的.reg文件的文件名,然后单击“ 保存”。注意 使用提醒你内容的文件名,例如对子项名称的引用。

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

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

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

返回页首

删除注册表项和值

若要删除具有 .reg 文件的注册表项,请在 .reg 文件的 RegistryPath 前面放置连字符 (-) 。 例如,从以下注册表项中删除 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 命令行开关来不显示这些消息。 例如,若要从登录脚本批处理文件使用 /s 开关) 以静默方式运行 .reg 文件 (,请使用以下语法:

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

分发注册表更改 注意 如果更改生效,可以将注册文件发送给网络上的相应用户。返回到顶部

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。