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

原创 2006年06月02日 11:25:00

摘要:
.Reg 文件的语法
 
.reg 文件具有以下语法:

RegistryEditorVersion
Blank line
[RegistryPath1] 
"DataItemName1"="DataType1:DataValue1"
DataItemName2"="DataType2:DataValue2"
Blank line
[RegistryPath2] 
"DataItemName3"="DataType3:DataValue3"

其中:

RegistryEditorVersion 是“Windows Registry Editor Version 5.00”(对于 Windows 2000、Windows XP 和 Windows Server 2003)或“REGEDIT4”(对于 Windows 98 和 Windows NT 4.0)。“REGEDIT4”表头也适用于基于 Windows 2000、Windows XP 和 Windows Server 2003 的计算机。

Blank line 就是一个空行。它标识新的注册表路径的开始。每个项或子项都是一个新的注册表路径。如果 .reg 文件中有多个项,空白行可以帮助您检查内容和排查其中的问题。

RegistryPathx 是存放要导入的第一个值的子项的路径。请用方括号将路径括起来,并用反斜杠将层次结构的各个级别隔开。例如:
[HKEY_LOCAL_ MACHINE/SOFTWARE/Policies/Microsoft/Windows/System]
一个 .reg 文件可以包含多个注册表路径。 如果注册表中不存在路径语句中底层的层次结构,将创建一个新的子项。注册表文件的内容将按照它们的输入顺序发送到注册表。因此,如果您要新建一个包含另一子项的子项,必须按正确的顺序输入行。

DataItemNamex 是要导入的数据项的名称。如果文件中的数据项在注册表中不存在,.reg 文件将添加该数据项及其值。如果数据项存在,.reg 文件中的值将覆盖现有的值。数据项的名称用引号引起来。数据项名称后紧跟着一个等号 (=)。

DataTypex 是注册表值的数据类型,紧跟在等号后面。对于 REG_SZ(字符串值)以外的所有数据类型,数据类型后都紧跟一个冒号。如果数据类型是 REG_SZ,则不包括数据类型值或冒号。在这种情况下,Regedit.exe 假定数据类型为 REG_SZ。下表列出了典型的注册表数据类型:

数据类型             .reg 中的数据类型 
REG_BINARY       hexadecimal 
REG_DWORD       dword 
REG_EXPAND_SZ  hexadecimal(2) 
REG_MULTI_SZ    hexadecimal(7) 

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 文件时,他们会收到以下消息:
注册表编辑器
是否确认要将 path of .reg file 中的信息添加进注册表?
如果用户单击“是”,将会收到以下消息:
注册表编辑器
.reg 文件路径里的信息已被成功地输入注册表。
Regedit.exe 支持 /s 命令行开关,以便不显示这些消息。例如,要从登录脚本批处理文件以无提示方式运行 .reg 文件(使用 /s 开关),请使用以下语法: 
regedit.exe /s path of .reg file
还可以使用“组策略”或“系统策略”将注册表更改在网络上分发。

全文:http://support.microsoft.com/kb/310516/ 

【注册表】编辑REG文件基本语句——注册表的增删改

前言         我们知道regedit是注册表编辑器,通过注册表我们可以完成电脑中的各种设置功能。这篇文章主要是对reg文件的探索,它是注册表文件,就是你可以在这个文件中写一个指令来修改相应的注...
  • Gnd15732625435
  • Gnd15732625435
  • 2016年10月30日 01:46
  • 2503

使用DOS命令REG操作注册表

reg命令是WindowsXP提供的,它可以添加、更改和显示注册表项中的注册表子项信息和值。reg add将新的子项或项添加到注册表中。语法:reg add KeyName [/v EntryName...
  • woolnil
  • woolnil
  • 2011年04月12日 20:19
  • 3496

编写注册表reg文件及批处理操作注册表

编写注册表文件新建一个文本文件,在其中输入以下内容: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsof...
  • tp7309
  • tp7309
  • 2016年12月04日 00:48
  • 802

自己动手写reg注册表文件

REG文件实际上是一种注册表脚本文件,双击REG文件即可将其中的数据导入到注册表中。通过约定的格式,我们可以利用REG文件直接对注册表进行任何修改操作,而且它对注册表的操作可以不受Regedit.ex...
  • haolipengzhanshen
  • haolipengzhanshen
  • 2015年01月12日 20:23
  • 7407

使用REG注册表文件添加、修改或删除注册表键值和子项介绍

北京开发票|北京开票公司|北京开增值税专用发票|北京发票,联系157-2410-7393 我们平时大多采用Regedit注册表编辑器来实现对注册表的修改操作,但是这种手工操作费时费力,当你要对多...
  • cxzy668
  • cxzy668
  • 2016年12月05日 16:10
  • 584

利用INF文件来修改注册表

 利用INF文件来修改注册表   [Version] Signature="$CHICAGO$" [Defaultinstall] addREG=Gc [Gc] HKCU,"Sof...
  • cbacq
  • cbacq
  • 2016年05月13日 16:43
  • 1598

注册表文件(.reg)编写方法

原本是很早以前写在blogspot的文章,今天重新整理了一下。注册表的概述这里就不多说了,本文主要介绍如何通过.reg文件操作注册表,其他的操作方式也不是本文涉及的内容。本文主要内容包括: 1....
  • lanxinju
  • lanxinju
  • 2010年07月31日 21:42
  • 5169

windows系统通过命令行方式修改多字符串值类型的注册表

windows系统的很多组策略配置,都可以通过修改注册表完成。 为了自动化快速做组策略配置,需要通过命令行方式修改注册表来达到这一目的。     其中通过命令行方式修改多字符串值类型的注册表有点难,...
  • jamie1025
  • jamie1025
  • 2017年03月31日 09:52
  • 743

REG QUERY命令参数(注册表)

REG QUERY KeyName [/v ValueName | /ve] [/s]   KeyName    [\Machine\]FullKey     Machine  远程机器名 -...
  • icanlove
  • icanlove
  • 2014年07月09日 15:31
  • 5532

获取文件的绝对路径 和 注册表获取路径

     想要访问执行程序(.exe)路径下的文件,有以下几个步骤:     1.先通过函数GetModuleFileName获取执行程序的绝对路径。     TCHAR szPath[ M...
  • rentao8000
  • rentao8000
  • 2016年09月13日 08:59
  • 1410
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何通过使用注册项 (.reg) 文件添加、修改或删除注册表子项和值
举报原因:
原因补充:

(最多只允许输入30个字)