在Win95或Win98中对注册表的修改一般用注册表编辑器Regedit,CW2kP中也仍保留有这个编辑器,属于GUI界面的版本,这大家都比较熟悉.Support Tools中的注册表控制台工具则是完全的命令行形式。和所有命令行工具的缺点一样,命令和参数或开关都是以字符表示,数量也较多,远不如GUI界面省心.话说回来,Reg.EXE除了在灵活性上较注册表编辑器高出一筹外,由于命令行运行仅占据极低的系统资源,所以在GUI界面根本不能运行的情况下,这是修复注册表的唯一之路。
命令行界面的注册表控制台工具允许你以命令行或批处理文件的形式对整个注册表进行加入、改动、删除、搜索与恢复,而且这种操作既适用于本地、也适用于远程计算机。注册表的内容控制着整个系统的运行,所以修改必须非常慎重,修改之前一定作好备份,虽是老生常谈的一句交待,但也确实是至理之言. Reg.exe包含最近更新的支持工具,如果你使用的是很早的批处理文件,应检查一下相关的内容和语法,以确保在更新后的 Reg.exe工具中能顺利地使用。
注册表控制台工具的命令较多,基本上是每一个功能使用一个命令,而且每个命令还可以选择若干开关参数。正式讨论之前,先对于注册表中的键名和键值,作以下必要的解释:键可以分根键(主键)和子键;子键可以有键名也可以没有键名;每个键可能有键值,也可能没有键值;所以会造成有些键既无键名也无键值,即使如此,这个键仍然是存在的.仅不过键名是默认的,没有键值时,用注册表编辑器可以看到"未设置数值"的提示,这些规律在使用注册表编辑器的时候一望便知.键名用Keyname表示,下文中的Keyname既包括根键也包括子键。
下面就给大家详细介绍一下命令和其参数的详细用法:
REG.EXE语法介绍如下:(由于各个命令的文档结构类似,所以第一个命令介绍得最详细,往下凡相似或相同的地方不再重复列出,仅提示:与上面一样)
1. REG ADD
用该命令加入一个新的指定键值,从给出的例子文件来看,基本的使用方法如下:
命令-计算机名称-根键名-[子键名称-类型-数据]下面是更详细、规范的表述:
REG ADD [\Machine]Keyname [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]
参数及说明:
Machine :
计算机名称,此处关于计算机名称的介绍,其它命令也将使用,请注意.以Machine指定远程计算机名称,如果省略,默认值是使用当前的本地计算机,不能使用驱动器名来指定远程计算机名.计算机名称前面的双反斜杠符号不能省去.如:\MYDIAC 就是一个正确的范例.
Keyname :键名,此处关于键名的解释,其它命令也将使用,请注意.
格式:[Rootkey]Key
Rootkey 是根键
根键可以使用以下形式的简写:
根键名
简写形式
HKEY_LOCAL_MACHINE
HKLM
HKEY_CURRENT_USER
HKCU
HKEY_CLASSES_ROOT
HKCR
HKEY_CURRENT_CONFIGURATION
HKCC
注意: HKLM 和 HKCU 键值仅适用与远程计算机。
Key :子键
所选根键之下的子键的完整名字
/v Valuename
向指定注册表加入新键值的名称,如果包含有空格,则字符串应使用引号
/ve
加入的空键值名
/t type
指定使用的数字或字符串的类型,这些类型与win9x相同,这里不再详细介绍.
/s Separator
指定注册表使用的数据字符串的分隔字符,例如使用REG_MULTI_SZ类型时.默认情况下就 "o" 作为分隔字符。
/f
允许覆盖现存的注册表
/d Data
向注册表中的指定键以指定数据赋于键值
2. REG COMPARE
将当前(本地计算机)的注册表与另外一个注册表或另外一个远程计算机上的注册表进行比较.将比较结果输出到一个文件上.
REG COMPARE [\Machine]Keyname1 [\Machine]Keyname2 [/v ValueName] | /ve] [/s] [Output]
参数及说明:
Machine :
指定的计算机名称.含义与上面一样
Keyname1, Keyname2:
注册表的键名,含义及格式与上面一样
/V Valuename:
进行比较的键值的名称,如果包含有空格,则字符串应使用引号
/VE, /ve
比较默认(无键名的)键值
/S, /s :
比较所有子键
Output 输出
以下列形式的开关参数控制输出结果:
/OA,/oa:输出全部的不同部分与相同部分
/OD,/od:仅输出不同部分;
/OS,/os:仅输出相同部分
/ON,/on没有任何输出
返回代码的含义:
0:成功地进行了比较,比较的结果是二者相同
1:比较过程失败;
2-成功地进行了比较,比较的结果是二者不相同
3.REG COPY
将当前的注册表或远程计算机上的注册表拷贝到一个新的位置(或计算机上)。
REG COPY [\Machine]SourceKey [\Machine]DestinationKey [/s] [/f]
参数及说明:
Machine :
指定的计算机名称.含义与上面一样
SourceKey 和 DestinationKey:
"源"键和"目的"键:注册表的键名称,含义及格式与上面一样
/s :
拷贝全部子键及键值
/f
强制拷贝
举例:
甲例子:REG COPY HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp
这里MyApp和 SaveMyApp 是不同注册表中的子键名,都在键名为 MyCo的键之下.执行结果是将MyApp拷贝向 SaveMyApp中。
乙例子: REG COPY \SAFARIHKLMSoftwareMyCo \ZODIACHKLMSoftwareMyCo
这里的ZODIAC和SAFARI是计算机名,MyCo 是两台机器的注册表中都有的键名,执行结果是SAFARI机器的键值被拷向ZODIAC.它与上面一个的主要区别是:1.两台机器都是远程计算机.2.所拷贝的是该键之下的全部内容而不是某一项.
丙例子: REG COPY \ZODIACHKLMSoftwareMyCo HKLMSoftwareMyCo1
作用与上面类似,但ZODIAC是远程计算机,而HKLM是本地当前所用计算机.
4.REG DELETE
删除一个注册表、注册表键值或子键值.
REG DELETE [\Machine]Keyname [/v ValueName | /ve | /va] [/f]
参数及说明:
Machine :指定的计算机名称.含义与上面一样
Keyname :注册表的键名称,含义及格式与上面相同
/v Valuename :
指定删除的键值的名称,如果包含有空格,则字符串应使用引号
/va :删除该键之下的所有键值
/ve : 删除无键名的值
/f : 强制删除
5.REG EXPORT
将注册表导出到一个文件上.仅适用于在本地计算机导出。
REG EXPORT Keyname Filename [/nt4]
参数及说明:
Keyname :注册表的键名称,含义及格式与上面相同
FileName :导出的注册表文件名
/nt4 以windowsNT4.0的注册表格式导出
6.REG IMPORT
将(备份的)一个注册表文件导入到计算机中.仅适用于在本地计算机。
REG IMPORT FileName
参数及说明:
FileName :准备导入的注册表文件名
7.REG LOAD
从备份的注册表中临时装入一个指定的键值,这种操作类似于使用注册表编辑器导入某一个键值。
REG LOAD [\Machine] KeyName FileName
参数及说明:
Machine 计算机名,参数含义与上面相同。
Keyname:临时装入的键名称,但含义及格式与上面相同
Key:指定的键名,这个键名是指定文件中所选择的根键或其以下的键值的集合,这个临时装入的键或其集合将在下次启动时删除,也可以用REG UNLOAD命令删除。
FileName :指定的文件名。