微软网站搜集到的内容非常齐全的--Microsoft Windows 注册表说明
Blank line 就是一个空行。它标识新的注册表路径的开始。每个项或子项都是一个新的注册表路径。如果 .reg 文件中有多个项,空白行可以帮助您检查内容和排查其中的问题。
RegistryPathx 是保留要导入的第一个值的子项的路径。请用方括号将路径括起来,并用反斜杠将层次结构的各个级别隔开。例如:
一个 .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 文件,请按照下列步骤操作:
单击“开始”,单击“运行”,在“打开”框中键入 regedit,然后单击“确定”。
找到并单击存放要更改的注册表项的子项。
单击“文件”,然后单击“导出”。
此步骤在您进行更改之前备份子项。如果所作更改产生现问题,您可以随后将此文件重新导入注册表。
在“文件名”框中,键入用于保存包含原始注册表项的 .reg 文件的文件名,然后单击“保存”。
注意:请使用能提示其内容的名称,例如,可引用该子项的名称。
在右窗格中,添加或修改所需的注册表项。
重复第 3 步和第 4 步,再次导出该子项,但是对该 .reg 文件使用不同的文件名。可以使用此 .reg 文件在其他计算机上对注册表进行更改。
在本地计算机上测试所作更改。如果它们产生问题,请双击存放原始注册表数据备份的文件,以将注册表返回到其原始状态。如果更改起到预期作用,则可以使用本文分发注册表更改一节中的方法将您在第 6 步中创建的 .reg 文件向其他计算机分发。
删除注册表项和值
要使用 .reg 文件删除注册表项,请在 .reg 文件中的注册表路径 前放置一个连字符 (-)。例如,要从以下注册表项中删除 Test 子项:
HKEY_LOCAL_MACHINE\Software
请在 .reg 文件中的以下注册表项前放置一个连字符:
HKEY_LOCAL_MACHINE\Software\Test
以下示例就是一个可以执行此任务的 .reg 文件。
要使用 .reg 文件删除注册表值,请在 .reg 文件中的数据项名称 后的等号后放置一个连字符 (-)。例如,要从以下注册表项中删除 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 path of .reg file
使用“windows 脚本宿主”
“Windows 脚本宿主”允许您直接在操作系统内运行 VBScript 和 JScript 脚本。您可以创建使用“windows 脚本宿主”方法来删除、读取和写入注册表项和值的 VBScript 和 JScript 文件。
windows Script Host注册表删除方法
RegDelete Method
Deletes a key or one of its values from the registry.
object.RegDelete(strName)
Arguments
object
WshShell object.
strName
String value indicating the name of the registry key or key value you want to delete.
Remarks
Specify a key-name by ending strName with a final backslash; leave it off to specify a value-name. Fully qualified key-names and value-names are prefixed with a root key. You may use abbreviated versions of root key names with the RegDelete method. The five possible root keys you can use are listed in the following table.
Root key Name Abbreviation
HKEY_CURRENT_USER HKCU
HKEY_LOCAL_MACHINE HKLM
HKEY_CLASSES_ROOT HKCR
HKEY_USERS HKEY_USERS
HKEY_CURRENT_CONFIG HKEY_CURRENT_CONFIG
Example
The following code creates a key and two values, reads them, and deletes them.
Dim WshShell, bKey
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\Software\ACME\FortuneTeller\", 1, "REG_BINARY"
WshShell.RegWrite "HKCU\Software\ACME\FortuneTeller\MindReader", "Goocher!", "REG_SZ"
bKey = WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\")
WScript.Echo WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\MindReader")
WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\MindReader"
WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\"
WshShell.RegDelete "HKCU\Software\ACME\"
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\", 1, "REG_BINARY");
WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader", "Goocher!", "REG_SZ");
var bKey = WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\");
WScript.Echo (WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader"));
WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader");
WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\");
WshShell.RegDelete ("HKCU\\Software\\ACME\\");
使用 windows Management Instrumentation
Windows Management Instrumentation (WMI) 是 Microsoft windows 操作系统的一个组件,并且基于网络的企业管理 (WBEM) 的 Microsoft 实现。WBEM 是一个行业计划,旨在开发在企业环境中访问管理信息的标准技术。您可以使用 WMI 在企业环境中自动执行管理任务(如编辑注册表)。 您可以在具有 windows 引擎并且能够处理 Microsoft ActiveX 对象的脚本语言中使用 WMI。您还可以使用“WMI 命令行”实用工具 (Wmic.exe) 来修改 windows 注册表。
使用 windows 控制台注册表工具
您可以使用“windows 控制台注册表工具”(Reg.exe) 编辑注册表。有关 Reg.exe 的帮助,请在命令提示符下键入 reg /?,然后按 ENTER 键。
Regedit.exe 和 Regedt32.exe 的区别
windows NT 3.x
Regedit.exe
Regedit.exe 是 16 位 Windows 操作系统的注册编辑器。它用于修改 Windows 的注册数据库。此数据库位于 Windows 目录下,名称是 Reg.dat。数据库中包含有关 16 位应用程序的信息,文件管理器用它来打开和打印文件。支持对象链接和嵌入 (OLE) 的应用程序也使用此数据库。WOW (Windows on Windows) 和 16 位 windows 应用程序使用并维护着 Reg.dat。WOW 层位于虚拟 DOS 机器 (VDM) 层之上。
Regedit.exe 是 16 位应用程序,Windows NT 中包含它是为了与早先的 16 位应用程序兼容。Regedit 提供了在 Windows NT 下检查 Reg.dat 的方法。您可以在 Windows NT 初始安装完成后首次登录时将 Reg.dat 数据库文件迁移到 windows NT 注册表。
Regedt32.exe
Regedt32.exe 是 Windows NT 的配置编辑器。它用于修改 Windows NT 配置数据库或 Windows NT 注册表。此编辑器允许您查看或修改 Windows NT 注册表。它提供了表示注册表各个部分(叫做配置单元)的窗口视图。每个窗口显示两部分:左侧是表示注册表项的文件夹。右侧是与所选注册表项关联的值。Regedt32 是一个功能强大的工具。使用它修改注册表值时必须格外小心。注册表中的值丢失或不正确将导致安装的 windows NT 无法使用。
Windows NT 4.0 和 windows 2000
Regedit.exe
Windows NT 4.0 和 Windows 2000 中包含 Regedit.exe 主要是为了使用它的搜索功能。您可以使用 Regedit.exe 更改 Windows NT 4.0 和 Windows 2000 注册表,但并非 Windows NT 4.0 和 windows 2000 中的所有功能或数据类型都能用它来查看或编辑。
Windows NT 4.0 和 windows 2000 中包含的 Regedit.exe 版本存在以下局限性:
无法为注册表项设置安全性。
无法查看、编辑或搜索 REG_EXPAND_SZ 和 REG_MULTI_SZ 这两种值数据类型。如果试图查看 REG_EXPAND_SZ 值,Regedit.exe 将其显示为二进制数据类型。如果试图编辑上述任一数据类型,Regedit.exe 会将其保存为 REG_SZ,而且该数据类型将不再执行其预期的功能。
您无法将注册表项保存为或还原为配置单元文件。
Microsoft 建议,在基于 Windows NT 4.0 或 windows 2000 的计算机上使用 Regedit.exe 时只使用它的搜索功能。
Regedt32.exe
Regedt32.exe 是 Windows NT 4.0 和 Windows 2000 的配置编辑器,用来修改 Windows NT 配置数据库或 Windows NT 注册表。此编辑器允许您查看或修改 Windows NT 注册表。它提供了表示注册表各个部分(叫做配置单元)的窗口视图。每个窗口显示两部分:左侧是表示注册表项的文件夹。右侧是与所选注册表项关联的值。Regedt32 是一个功能强大的工具,使用它修改注册表值时必须格外小心。注册表中的值丢失或不正确将导致安装的 windows 系统无法使用。
注意 与 Regedit.exe 不同,Regedt32.exe 不支持注册表项文件 (.reg) 的导入和导出。
Windows XP 和 windows Se

