首页 新闻 体育 娱乐 游戏 邮箱 搜索 短信 聊天 天气 答疑 导航
上移动梦网
赢手机大奖

新浪首页 > 科技时代 > 网上学园 > 操作系统 > 正文
用Regfind从命令行快速操作注册表(图)

http://www.sina.com.cn 2003/07/11 13:42 eNet硅谷动力

  文/松下客

  每一个熟悉Windows的人都相信,通过注册表几乎可以做到任何事情,真正的问题是怎样迅速找到正确的注册键。

  绝大多数情形下,操作注册表意味着找到某个特定的子键;偶尔地,可能需要修改一下子键的名称(例如,可能要进行结构上的改动)。那么,怎样才能迅速找到正确的子键并执行修改?另外,如果你不仅要改动本地机器的注册表,而且还要对远程机器作同样的修改,
该怎么办?本文告诉你一个好工具Regfind。Regfind可以从Windows 2000 Server的Resource Kit Supplement One找到,或者从网上下载。Regfind适用于Windows的各个版本,包括Windows 9x系列。

  Regfind是一个命令行工具。不带任何选项执行Regfind,它将显示出帮助信息。最简单的用法是执行查找,例如执行Regfind "QQ",Regfind将找出所有包含字符串“QQ”的注册键,如图一所示。

图一

  除了单纯的查找之外,Regfind还能够执行替换:只需在图一的命令后加上-r选项和一个替换字符串即可。例如,假设你公司的名称从AGroup改成了BGroup,现在你想要对注册表中所有的产品注册信息作相应的改动,只需执行:Regfind "AGroup" -r "BGroup"。注意,如果搜索字符串包含空格或标点符号,字符串应该用引号包围。

  如果要对一台远程机器作相应的改动,只需在前面的命令后加上-m选项并指定远程机器的UNC(Universal Naming Convention,通用命名协定)路径,例如:Regfind -m\\server03 "AGroup" -r "BGroup"。

  搜索整个注册表无疑是一件相当耗费时间的事情。为了提高效率,你可以将Regfind的搜索操作限制到某个注册表的分支或子键,只需要在-p选项后面指定要搜索的注册表位置即可。例如,假设要把搜索“AGroup”的操作限制在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft子键,并把该子键下的AGroup替换成BGroup,执行:Regfind "AGroup" -r "BGroup" -p "HKEY_LOCAL_MACHINESOFTWARE\Microsoft"。

  通过上面的说明可以看出,Regfind是一个很方便的工具,但白璧有瑕,有时候你仍会感到它不能满足要求。首先,Regfind不支持通配符,也不支持正则表达式——而这两者对于执行复杂搜索是非常有用的。唯一一个给搜索操作增加灵活性的选项是-y。-y选项使得Regfind的搜索操作对大小写不敏感,即如果你执行Regfind AGroup -y,则Regfind的搜索结果中将包含AGroup、aGroup以及其他字母大小写的组合(如果没有-y选项,Regfind默认对大小写敏感,但Regfind的命令选项对大小写不敏感,例如你可以随意使用-R或-r)。

  第二,如果用Regfind执行搜索/替换操作,它将替换所有找到的字符串,你不能要求Regfind只替换其中一个字符串。勉强可算是补救策略的方法是:将搜索操作限制在某个特定的注册表分支。因此,我的建议是:首先用Regfind找出所有匹配的注册子键,然后用Regfind执行全局替换或手工修改某个特定的子键。

  第三,如果你想要修改数值型数据,Regfind似乎算不上最佳帮手。这是因为,许多要处理的REG_DWORD值不是0就是1,而0和1在注册表中出现的机会实在太频繁了,很可能出现误替换的情形。解决问题的唯一办法就是尽可能精确地限定Regfind的搜索范围。

  立即下载Regfind 进入新浪下载中心



发表评论】【初学者园地】【科技聊天】【关闭窗口

新 闻 查 询

【学园专题】注册表的秘密
 相关链接
Win98自带的卫士:注册表修改深入技巧(2003/06/18 09:59)
通过注册表禁用DOS窗口来保护系统安全(2003/05/21 12:58)



科技时代意见反馈留言板 电话:010-82628888-5488   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2003 SINA Inc. All Rights Reserved

版权所有 新浪网