|
zjindong
初级用户
积分 64
发帖 26
注册 2006-1-10
状态 离线
|
『楼 主』:
关于GhRegEdt
为什么照着网上的资料操作GhRegEdt
没有一个会成功的。。
XPSP2 系统 MAXDOS 5.7 全NTFS格式
想在DOS导入注册表
GhRegEdt -cp=936 import 1.1:\a.reg
GhRegEdt import 1.1:\a.reg
GhRegEdt import 1.1:\windows a.reg
都不成功,提示line2错误什么的,或者什么键值没找到。在windows下用GhRegEdit32 却可以导入
想在DOS删除注册表,这个也是照着网上的资料弄的 用GhRegEdt不成功
以下是资料
引言:首先要说明一个问题,就是为什么不在windows下直接编辑注册表,而要拐弯抹角到DOS下去处理?这里举个例大家就明白了,HKEY_LOCAL_MACHINE\SYSTEM\WPA这个键下的值,能编辑吗?这里微软记录了你的系统曾经用过的序列号,当然不允许你随便更改,也就无法抹除自己的盗版史;还有那个流氓中文上网官方游,在发现低版本的第三方软件试图删除它时,也会锁定注册表让你无法清理它。好在有DOS这样优秀的系统,There is no locked file in the Disk Operation System.经过一个下午的折腾,终于把这款在DOS下完美处理注册数据的软件GhRegEdt搞明白了。下面就把我使用这款软件的心得体会跟大家分享交流。
提问:我的系统是NTFS格式的,在DOS下能处理注册表吗?
回答:NTFS格式分区已经出来差不多8年了,现在新出来的DOS软件基本上都支持NTFS格式分区的数据处理了,我介绍的这款软件GhRegEdt当然支持在NTFS格式分区的系统。
提问:它是哪里来的?
回答:它来自于Symantec Ghost Solution Suite 2.0
提问:它能处理64位Windows系统吗?
回答:在DOS下无法编辑处理64位Windows系统的注册表
提问:如何使用?
回答:直接输入GhRegEdt,就会出现帮助信息,但是有那么一点晦涩难懂,所以这里我会对注册表的每种操作都举实例,这样就方便大家依葫芦画瓢了。
1、定位需要处理哪个windows系统的注册表(只有一个windows系统的可以略过此条)。
输入:
代码:
GhRegEdt Windows就会列举出它识别到你硬盘的所有windows系统,例如1.1:\windows表明第一个硬盘的第一个分区,由于我的分区都是NTFS格式的,所以在DOS下就不会显示为C盘。如果你的windows系统安装在第二个硬盘的第一个分区,当然定位就是2.1:\windows,如果你对你的硬盘分区结构很了解,不需要运行这个命令也能自己推算出windows系统的定位。如果在运行命令时没有加入windows定位参数,它就对默认的windows系统进行注册表操作,当然,最前的硬盘的最前的分区上的系统就是默认的。
2、最简单的注册表操作,当然就是增删注册表项(Addkey/Delkey)
1)增加注册表项(Addkey)
例如我们要在HKEY_LOCAL_MACHINE\SOFTWARE这项里面加一个项test,那么应该执行命令:
代码:
GhRegEdt addkey 1.1:\windows HKEY_LOCAL_MACHINE\SOFTWARE\test由于第一个硬盘的第一个分区上的Windows系统必然是默认系统,所以1.1:\windows这个系统定位是可以省略的,那么命令可以简写成
代码:
GhRegEdt addkey HKEY_LOCAL_MACHINE\SOFTWARE\test2)删除注册表项(Delkey)
删除刚才建立的test项
代码:
GhRegEdt delkey HKEY_LOCAL_MACHINE\SOFTWARE\test是不是很简单啊?!
3、增删注册表键值(Addvalue/Delvalue)
注册表值的类型有五种,包括:
i)字符串值(REG_SZ);
ii)二进制值(REG_BINARY);
iii)DWORD 值(REG_DWORD);
iv)多字符串值(REG_MULTI_SZ);
v)可扩充字符串值(REG_EXPAND_SZ)
GhRegEdt能支持所有windows里有的注册表值!
例如我们要在刚才那个添加的注册表项里增加一个字符串值a b c d,并且将其值设为1234,就可以执行如下命令:
代码:
GhRegEdt addvalue HKEY_LOCAL_MACHINE\SOFTWARE\test "a b c d" REG_SZ 1234这里可以看到我加了引号,因为字符串值里有空格,在DOS下操作,空格意味着参数的改变,所以必须加入引号以防止DOS误判,那么我要加入一个字符串值a,并将其值设为1234,就可以不加引号,命令如下:
代码:
GhRegEdt addvalue HKEY_LOCAL_MACHINE\SOFTWARE\test a REG_SZ 1234如果不指定字符串值,则是修改默认字符串值。
删除它就很简单啦!把addvalue换成delvalue就OK!
什么?你问我更改键值用什么参数!很简单啦,直接以创建的形式就OK,会覆盖原值的,不用专门的参数!
增删多字符串值要稍稍复杂一些,也举例说明,例如我们要在test键下增加多字符串值a b c d,并将其值设为1和2和3和My Dear,那么应该执行如下命令:
代码:
GhRegEdt addvalue HKEY_LOCAL_MACHINE\SOFTWARE\test "a b c d" REG_MULTI_SZ :: "1"::"2"::"3"::"My Dear"::都坚持看到这里了,想必也会删除此值了,的确简单,不累述!
4、查看注册表(enumkey/enumvalue)
1)展开子键(enumkey)
非常不推荐在DOS下查看,因为子键往往很多,在DOS下要翻屏,看不到前面的了,如果实在要看,建议加入|more(前提是你的DOS系统有这个外部命令)来停屏滚!
举例,要查看HKEY_LOCAL_MACHINE\SOFTWARE的子键
代码:
GhRegEdt enumkey HKEY_LOCAL_MACHINE\SOFTWARE|more2)查看某键的值(enumvalue)
举例,要查看开头我们建立的test键的值
代码:
GhRegEdt enumvalue HKEY_LOCAL_MACHINE\SOFTWARE\test5、导入导出注册表(export/import)
这个主要用于注册表的备份与恢复,特别提醒的是,GhRegEdt默认只支持英文,如果要想它支持中文,必须加入中国地区代码,也就是加入参数-cp=936!
中文windows系统的注册表,必然含有中文,所以在导入导出时,就要加入上述参数,在添加键值时,如果有中文,也必须加入上述参数!
1)导出注册表
举例,导出HKEY_LOCAL_MACHINE\SOFTWARE\test到第一个硬盘第一个分区根目录成注册表文件a.reg
代码:
GhRegEdt -cp=936 export 1.1:\a.reg HKEY_LOCAL_MACHINE\SOFTWARE\test2)导入注册表
把刚才导出的注册表文件重新导入,这个就简单了,不用在命令行加入路径
代码:
GhRegEdt -cp=936 import 1.1:\a.reg
|
|
2007-8-27 03:50 |
|
|
zjindong
初级用户
积分 64
发帖 26
注册 2006-1-10
状态 离线
|
|
2007-8-27 03:50 |
|
|
Climbing
铂金会员
网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
『第
3 楼』:
我这里虽然有GhRegEdt这个工具,但却从来没有使用过,但既然它说能够在DOS下编辑Windows的注册表,我想它一定能,之所以楼主不能,我想肯定是用法上有错误,或者不符合它的使用环境。
另外,编辑Windows的注册表,不一定非要在DOS下进行,例如:你可以在PE系统下或者在另一个Windows系统下进行。只要保证你编辑的注册表文件没有在使用中即可。这个问题论坛前面有一些讨论的。
|
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
|
|
2007-8-27 14:08 |
|
|
zjindong
初级用户
积分 64
发帖 26
注册 2006-1-10
状态 离线
|
|
2007-8-27 14:23 |
|
|
Climbing
铂金会员
网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
『第
5 楼』:
呵呵,没有时间研究,还得靠你自己想办法解决了。
|
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
|
|
2007-8-27 14:45 |
|
|
zjindong
初级用户
积分 64
发帖 26
注册 2006-1-10
状态 离线
|
『第
6 楼』:
我就是想不出办法啊。搞了好久都不行
|
|
2007-8-27 19:13 |
|
|
awera
初级用户
积分 94
发帖 36
注册 2005-9-19
状态 离线
|
『第
7 楼』:
这玩意好像见过,就是没用过
看看再说
|
|
2007-8-28 00:24 |
|
|
zjindong
初级用户
积分 64
发帖 26
注册 2006-1-10
状态 离线
|
|
2007-8-29 22:26 |
|
|
Climbing
铂金会员
网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
『第
9 楼』:
昨天偶然一个机会用到了GhRegedt程序,挺好用的,一点儿问题也没有,唯一的缺憾就是在DOS环境下命令行长度有限制,而这个命令行注定是要很长的。
当然,我的分区是FAT32的,不是NTFS分区。
|
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
|
|
2007-8-31 15:04 |
|
|
zjindong
初级用户
积分 64
发帖 26
注册 2006-1-10
状态 离线
|
『第
10 楼』:
没在NTFS分区测试一下吗??
还有如何解决长度限制问题。毕竟注册表真的很长
|
|
2007-8-31 15:53 |
|
|
ceo5566
新手上路
积分 6
发帖 3
注册 2009-7-8
状态 离线
|
『第
11 楼』:
我和楼主一样的问题,弄了N久都不行,郁闷!!!高手来解答......
|
|
2010-4-20 20:36 |
|