1. 基础介绍
1.1 什么是reg文件
reg文件是用于操作Windows注册表的脚本文件。
1.2 windows注册表组成简要介绍
注册表由键、子键和值项组成,主要是用来方便软件存储数据和管理系统配置信息的,相当于windows的数据库。注意对注册表修改不当可能会导致系统损坏,不要随意乱改注册表。关于注册表的相关概念理解看下图:
- 上图左侧的每一行都可以被称为是一个键,如
CurrentControlSet
、Control
等等都是一个键。 - 挂在另一个键下方的键叫做键的子键,如
Control
就是CurrentControlSet
的一个子键。 - 右侧的每一行信息称为值项,值项由项名、值的类型、数据由三个属性组成。其中在这里我们着重关注名称和数据即可。
打开注册表编辑器方式:
win + r 打开 运行窗口,输入 regedit 回车即可
2. 关于reg文件的书写语法
2.1 开头标识
一般以 Windows Registry Editor Version 5.00
开头,标识注册表编辑器版本号,目前使用的开头基本都是这个。也有的老系统使用REGEDIT4
标识。
2.2 注册表操作语法
子键的添加与删除:
-
添加子键:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NewKey]
此操作表示:在
键CurrentControlSet中创建一个
子键NewKey` 。 -
删除子键:
Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NewKey]
此操作表示:删除
键CurrentControlSet
中的子键NewKey
。注:子键的修改操作 ,其实就是删除+新建操作。
值项的添加与删除:
-
添加(修改)值项:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NewKey] "abc"="10"
此操作表示:在
键NewKey
中创建(或修改)一个名为abc的值项,设置其数据值为10。 -
删除值项:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NewKey] "abc"=-
此操作表示:删除
键NewKey
中的值项abc
一般为了便于阅读代码,在reg文件中会在两种操作之间用空行隔开
下方展示的操作是【在 键Control
中创建 子键NewKey
和 子键NewKey2
,并在 键NewKey2
中创建一个名为abc的值项,设置其数据值为10。】
注:
;注释
是reg文件的行注释,此处的内容不会被当做代码执行
Windows Registry Editor Version 5.00
; 创建子键NewKey
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NewKey]
; 创建子键NewKey2
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NewKey2]
; 创建值项abc,赋值为10
"abc"="10"
下方展示的操作是【在 键Control
中删除 子键NewKey
和 子键NewKey2
本身以及下面的所有值项】
Windows Registry Editor Version 5.00
; 删除子键NewKey
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NewKey]
; 删除子键NewKey2
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NewKey2]
2.3 项值类型
前面我们在创建子键NewKey下的项值时,其存储进入的是字符串类型,字符串类型也是最常用的类型。下简单看一下其他类型的数据:
- 单字符串 类型
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NewKey]
"a"="hello"
- 指定 二进制数据 类型
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NewKey]
; hex:标识存储二进制数据
"b"=hex:00,00,00,14
注册表值项的部分常用类型
类型 | 说明 |
---|---|
REG_SZ | 单字符串 |
REG_MULTI_SZ | 多字符串 |
REG_BINARY | 二进制数据 |
REG_EXPAND_SZ | 可扩充字符串值,相当于环境变量,%value% |