我们平时大多采用 Regedit
注册表编辑器来实现对注册表的修改操作,但是这种手工操作费时费力。我们可以通过注册表脚本文件 reg
文件来修改注册表,非常的方便
注册表编辑器的打开方式:Win + R 输入 regedit
回车
.reg
文件的语法如下:
注册表编辑器版本
[注册表路径1]
"数据项名称"="数据类型:数据值"
"数据项名称"="数据类型:数据值"
[注册表路径1]
"数据项名称"="数据类型:数据值"
"数据项名称"="数据类型:数据值"
注册表编辑器版本,在 Windows XP、Windows 7 、Windows 10 中,其值为 Windows Registry Editor Version 5.00
,在 Windows 98 和 Windows NT 4.0 中,其值为 REGEDIT4
注册表编辑器版本 和 注册表路径 直接的空行不能省略
注册表由项(或称“键”)、子项(或称“子键”)和值构成,可以把它们依次看成目录、子目录和文件
注册表路径就是叫项路径,包含在方括号中,并以反斜杠分隔每个层次结构,例如:
[HKEY_CURRENT_CONFIG\test]
值 由 名称-类型-数据 构成,数据项名称值的名称,数据类型就是值的类型,数据值就是具体的值。
下表列出了典型的注册表数据类型:
数据类型 | 名称 | .reg 中如何表示 |
---|---|---|
REG_SZ | 字符串值 | 不需写数据类型,用双引号括起值即可 |
REG_BINARY | 二进制值 | 十六进制 |
REG_DWORD | DWORD值 | dword |
REG_EXPAND_SZ | 多扩充字符串值 | hexadecimal(2) |
REG_MULTI_SZ | 多字符串值 | hexadecimal(7) |
值得注意的是,REG_SZ
类型的值不需要表明数据类型,只需要用双引号引起来,例如
"Name" = "TonyDon"
其他的类型都无需写双引号,但需要添加值的类型,类型与值之间用冒号隔开,如下添加 REG_DWORD
类型的值
"Hello" = dword:00000006
添加和修改项和值
项名和值名,如果它们在注册表中不存在,则创建;如果存在,则覆盖其值。注意,值项的名称要用双引号引起来。
下例为添加一个 HKEY_CURRENT_CONFIG\test
项,并添加一个REG_SZ
类型的 Name
,其值为 TonyDon
Windows Registry Editor Version 5.00
[HKEY_CURRENT_CONFIG\test]
"Name" = "TonyDon"
将该文件保存为 .reg
文件点击运行,即可实现上述操作
删除项和值
删除一个项,只需要在项名头部加一个负号 -
即可。支持递归删除,也会删除所有子项
[-HKEY_CURRENT_CONFIG\test]
删除一个值,只需要在值名后面的等号后添加一个负号 -
即可
"Name" = -
注: 等号两边的空格可加可不加
下例为删除新建的 HKEY_CURRENT_CONFIG\test
项
Windows Registry Editor Version 5.00
[-HKEY_CURRENT_CONFIG\test]
删除项的同时,其值自然也被删除