设置
  • 日夜间
    随系统
    浅色
    深色
  • 主题色

IT之家网友分享:如何自己编写一个注册表文档

2017/7/27 9:44:54 来源:IT之家 作者:第二生命转移研究院 责编:文轩
感谢IT之家网友 软媒用户1364749 的线索投递!

感谢IT之家网友 第二生命转移研究院 的原创投稿

混迹注册表之家各位网友肯定要经常修改注册表。修改现有的值的数据还好,一旦涉及到删除或添加键、值的数据,修改键,不做备份,“日后再说”肯定会蒙圈。注册表文档(Registration Entries)不仅可以将添加或删除的键、值进行快速还原,还方便分享你的注册表键值的设置。

首先我们来先了解注册表文档的语法。

REGEDIT VERSION

(空一行)

[键1]

“值1”=”值类型1:数据1”

“值2”=”值类型2:数据2”

……

(空一行)

[键2]

“值3”=”值类型3:数据3”

......

语法项目详细说明:

REGEDIT VERSION:指注册表编辑器版本。Windows 2000之前的版本此处写REGEDIT4,Windows 2000之后此处写Windows Registry Editor Version 5.00。当然,你想偷懒的话也可以直接写REGEDIT4,这么干是可以的。我把它称之为“版本描述”。

空行:这是最简单的、最基本的、不可或缺的语法元素之一。添加于版本描述语句之后、键路径之前。

键和值就不用多说了,键(key)就是指注册表里的那些“文件夹”,值(value)就是指右边的那些“文件”,大家都应该清楚。

值由两部分组成:值名(value name)和值数据(value data),我平时都是习惯简称“值”和“数据”,反正是否标准就不知道了。在上述的语法描述中我也使用的是“值”和“数据”。

值类型是指值的数据类型,是值的基本属性。

例如这个最基本的、不可或缺的注册表元素——键的默认值(Default)。

它的数据是string(字符串)类型(REG_SZ)的。默认值在注册表文档中用@(不能加引号)表示。

类型在编写注册表文档时很重要。下面我们来看一下各种值对应的类型名:

需要特殊注意的是String(字符串)值:在注册表中是REG_SZ,在注册表文档中为字符串类型的值的数据赋值时不写类型和冒号,直接写字符串数据;

DWord值:在注册表中是REG_DWORD,在注册表文档中用dword表示;

Qword值:在注册表中是REG_QWORD,在注册表文档中用hex(b)表示;

Binary(二进制)值:在注册表中是REG_BINARY,在注册表文档中用hex表示;

Expandable String(可扩展的字符串)值:在注册表中是REG_EXPAND_SZ,在注册表文档中用hex(2)表示;

Multi-String(多值字符串集)值:在注册表中是REG_MULTI_SZ,在注册表文档中用hex(7)表示;

比如说下面这个注册表文档,打开编辑界面是这样的:

它所对应的注册表内容是这样的:

注册表编辑器的版本描述语句与第一个键之间空一行;后一个键的相关语句和前一个键的相关语句之间要空一行。

键的路径要表示为绝对路径,即路径分隔符要使用反斜杠(\);同一键下的不同项目另起一行直接写,不留空行。

为REG_SZ类型的值的数据赋值时引号不可以省略,其他类型的值在赋值时引号可以省略。欲将某值的数据设置为空(或“0”),可以使用"值名"=""。

下面进入正题

一、新建键、值

例如在我想在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wbem\xml\Encoders\键下新建一个名为newTestKey的子键(subkey),然后新建几个测试值,那就新建一个文本文档,扩展名改为*.reg(编辑完之后再改也可以),右键菜单,编辑。写上下面的语句:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wbem\xml\Encoders\newTestKey]

"newDword2"=dword:2

"newDword"=dword:00000001

"newString"="ITHome,Excited!"

保存并双击导入。

执行结果:

默认值是不可或缺的,它是键存在的基础,所以在新建键时,即便不写@="",也会自动创建默认值。

一般地,执行在同一键下新建值的语句时没有先后顺序的讲究,但是当出现的值的名称和类型都相同、数据不同时,这就相当于修改值的数据了,注册表中值的数据以注册表文档最后的值的数据为准。

二、删除键、值

删除键:在键前添加一个负号(-),形如

[-键]

删除值:在赋值号(=)后不写引号、值类型,直接写一个负号(-),形如

Value#1=-

如果我想删除前面添加的键及其所有值,编辑注册表文档,改为

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wbem\xml\Encoders\newTestKey]

"newDword2"=dword:2

"newDword"=dword:00000001

"newString"="ITHome,Excited!"

即可。

三、修改键、值:

修改键:这个比较麻烦,需要先删除该键,然后再新建键(注意备份键下的值),再将值写在新键下。

修改值名:这个也比较麻烦,需要先删除该值,然后再新建值(注意备份值的数据)。

我觉得除非你是想直接给别人你的注册表设置,否则还是直接在注册表编辑器里改吧。

修改值数据:直接用

“值”=”值类型:新数据”

的语句来改写。所以,你可以用

@=”新数据”

来修改默认值的数据。

总之,利用注册表文档可以很方便地批量创建键、值,将注册表文档化可以方便创建备份快速、安全地恢复之前的注册表设置。但是如果你想分享新建、修改过值的数据的注册表的话,还是右键导出算了。

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

相关文章

软媒旗下网站: IT之家 辣品 - 超值导购,优惠券 最会买 - 返利返现优惠券 iPhone之家 Win7之家 Win10之家 Win11之家

软媒旗下软件: 魔方 酷点桌面 Win7优化大师 Win10优化大师 软媒手机APP应用