分享

用Windows命令行控制注册表键值[图文] | 晴刃

 Eostream 2016-05-26

熟悉Windows操作系统的朋友可能都知道,Windows操作系统下的注册表(regedit.exe)就相当于系统的数据库 ,一些软件甚至将配置信息也放在注册表里面,而注册表的破坏可以直接导致系统的崩溃。

而熟悉注册表的朋友对“注册表编辑器”一点也不陌生,它提供了一个图形化管理注册表的操作界面,本文要介绍的是另外一种管理注册表的方法“控制台注册表编辑器(reg.exe)”,它可以使用纯命令行的模式对注册表进行添加、删除、查看等操作,特别适用于在批处理中对注册表进行操作

[*1*] 控制台注册表编辑器在系统中的位置

假设我的系统装在“C盘”,那么注册表编辑器reg.exe就在”C:\Windows\System32\reg.exe”(一些精简版的系统将这些程序都删除了,这样的情况你可以从其他系统中拷贝一个放置这个目录下)。

要调用“控制台注册表编辑器”只需要打开一个CMD命令行,输入”reg /?”就能看到帮助文件了:(这里有一点非常重要,Win7以及Win8系统必须用管理员身份运行CMD才能对注册表的一些项进行操作,否则会报错)控制台注册表编辑器命令

[*2*] 注册表类型结构注册表键值类型

了解了什么是“键值”,下面就可以对它们进行操作了。

[*3*] 常用命令详解

下面使用几个实例简单的演示一下如何对注册表进行添加、删除、查看、备份、还原。这几项基本操作,对于其他不常用的功能大家可以自己去摸索。

实验一: 使用CMD在根键”HKEY_CURRENT_USER”下创建一个子键“qingsword”,添加一个值的名称叫“hello”的,类型为“REG_ZS”的值,并添加数据“welcome to my website”

1C:\>reg add hkcu\qingsword /v hello /t REG_SZ /d 'welcome to my website'
2操作成功完成。

这里对上面的命令做出解释,首先”reg add” 是添加的意思,HKCU是根键”HKEY_CURRENT_USER”的缩写,另外几个根键的缩写类似,如“HKCR”、“HKLM”、”HKU”、”HKCC”,分别取前两个字母和后面两个单词的前一个字母。

hkcu\qingsword就是在根键”HKEY_CURRENT_USER”下添加一个叫做qingsword的子键,如果这个子键存在,则不作任何操作。

/v  后面接需要创建的值的名称。/t 后面是值的类型,/d 自然就是这个值的数据了。其实大家从英文的缩写中也不难看出它的意思。

最后显示的结果就是:使用控制台注册表编辑器添加数据

大家可能看到了,这个hello上面还有一个默认值,如何更改这个值的类型和数据呢?使用如下命令,唯一不同的就是/v 变成了/ve,意思是添加名称是空的默认值(ve=value empty),其次就是类型(type)改变成了DWORD:

1C:\>reg add hkcu\qingsword /ve /t REG_DWORD /d 1
2操作成功完成。

实验二:删除hkcu\qingsword下刚才创建的“hello”值

1C:\>reg delete hkcu\qingsword /v hello /f
2操作成功完成。

从代码很容易看出意思,这里就不再多做解释了,唯一要解释的就是/f是强制删除的意思,不出现Yes和No的确认。

实验三:删除hkcu\qingsword下刚才创建的“空值”

1C:\>reg delete hkcu\qingsword /ve
2要删除注册表值 (默认) 吗(Yes/No)? y
3操作成功完成。

这一回没带参数/f,就出现了确认提示。

实验四:查看某个注册表项下面的值
我们再用上面的两条命令将值重新添加回去,这个时候使用下面的命令查看,reg query 后面接需要查看的键,即可显示这个键下面都有哪些值了。

1C:\>reg query hkcu\qingsword
2/*查看整个键下面的所有值的数据*/
3HKEY_CURRENT_USER\qingsword
4    (默认)    REG_DWORD    0x1
5    hello    REG_SZ    welcome to my website

除此之外如果某个键下面的内容过多,我们可以单独查看某值的数据:

1C:\>reg query hkcu\qingsword /v hello
2/*单独查看hello值的数据*/
3HKEY_CURRENT_USER\qingsword
4    hello    REG_SZ    welcome to my website
5 
6C:\>reg query hkcu\qingsword /ve
7/*单独查看默认值的数据*/
8HKEY_CURRENT_USER\qingsword
9    (默认)    REG_DWORD    0x1

实验四:导出和导入注册表

1C:\>reg export hkcu\qingsword c:\qingsword.reg
2操作成功完成。
3/*导出hkcu\qingsword这个键到C盘下命名为qingsword.reg*/
4 
5C:\>reg delete hkcu\qingsword /f
6操作成功完成。
7/*删除注册表中的hkcu\qingsword这个键*/
8 
9C:\>reg query hkcu\qingsword
10错误: 系统找不到指定的注册表项或值。
11/*这时候查看这个键会发生错误,因为上面删除了。*/
12 
13C:\>reg import c:\qingsword.reg
14操作成功完成。
15/*将刚才备份的文件导入注册表*/
16 
17C:\>reg query hkcu\qingsword
18/*再次查询,就有看到刚才的数据了*/
19HKEY_CURRENT_USER\qingsword
20    (默认)    REG_DWORD    0x1
21    hello    REG_SZ    welcome to my website

好了,到这里相信大家对控制台注册表编辑器有了简单的了解,更多的操作大家可以使用“reg /?”去查看帮助文件,需要注意的是,有些根键下是不能直接创建子键的比如“HKEY_LOCAL_MACHINE”下就算是管理员也不能创建子键,但是可以在更下一级子键中创建比如”HKLM\software\qingswored”,再者就是当你要操作的键中间存在空格,需要用双引号将整个路径引起来,关于这些还有待大家去摸索了。

————————————————————————————————————

[**] 注:如文中未特别声明转载请注明出自: QingSword.COM

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多