1、最简单的用法是执行查找,例如执行Regfind QQ,Regfind将找出所有包含字符串“QQ”的注册键。除了单纯的查找之外,Regfind还能够执行替换:只需在图一的命令后加上-r选项和一个替换字符串即可。例如,假设你公司的名称从AGroup改成了BGroup,现在你想要对注册表中所有的产品注册信息作相应的改动,只需执行:Regfind AGroup -r BGroup。注意,如果搜索字符串包含空格或标点符号,字符串应该用引号包围。如果要对一台远程机器作相应的改动,只需在前面的命令后加上-m选项并指定远程机器的UNC(Universal Naming Convention,通用命名协定)路径
2、,例如:Regfind -mserver03 搜索整个注册表无疑是一件相当耗费时间的事情。为了提高效率,你可以将Regfind的搜索操作限制到某个注册表的分支或子键,只需要在-p选项后面指定要搜索的注册表位置即可。例如,假设要把搜索“AGroup”的操作限制在HKEY_LOCAL_MACHINESOFTWAREMicrosoft子键,并把该子键下的AGroup替换成BGroup,执行: -p HKEY_LOCAL_MACHINESOFTWAREMicrosoft通过上面的说明可以看出,Regfind是一个很方便的工具,但白璧有瑕,有时候你仍会感到它不能满足要求。首先,Regfind不支持通配符
3、,也不支持正则表达式而这两者对于执行复杂搜索是非常有用的。唯一一个给搜索操作增加灵活性的选项是-y。-y选项使得Regfind的搜索操作对大小写不敏感,即如果你执行Regfind AGroup -y,则Regfind的搜索结果中将包含AGroup、aGroup以及其他字母大小写的组合(如果没有-y选项,Regfind默认对大小写敏感,但Regfind的命令选项对大小写不敏感,例如你可以随意使用-R或-r)。第二,如果用Regfind执行搜索/替换操作,它将替换所有找到的字符串,你不能要求Regfind只替换其中一个字符串。勉强可算是补救策略的方法是:将搜索操作限制在某个特定的注册表分支。因此,
4、我的建议是:首先用Regfind找出所有匹配的注册子键,然后用Regfind执行全局替换或手工修改某个特定的子键。第三,如果你想要修改数值型数据,Regfind似乎算不上最佳帮手。这是因为,许多要处理的REG_DWORD值不是0就是1,而0和1在注册表中出现的机会实在太频繁了,很可能出现误替换的情形。解决问题的唯一办法就是尽可能精确地限定Regfind的搜索范围命令行方式直接修改注册表一、CMDcmd是windows2000中的一个小得如鸽子蛋一样的程序,是一个所谓命令行控制台。有两条进入该程序的通道:第一,鼠标点击开始运行,在出现的编辑框中键入cmd,然后点击确定;第二,在启动windows
5、2000的时候,按F8进入启动选择菜单,移动光条或键入数字至安全模式的命令行状态。出现的窗口是一个在win9x系统常见的那种msdos方式的界面一个黑乎乎的窗口甚至还没有msdos方式的窗口耐看:连常用的工具条都没有放上我真想不通,贵为最新的操作系统,因何还保留似乎是石器时代的dos界面呢?像往常一样,习惯性低在命令后面键入:cmd/?,想看看会提示些什么?孰料出现的东西使我大吃一惊:1这些信息是中文的,要知道原来纯dos环境可不会直接支持中文呀!2.有相当详细的帮助信息3.界面虽然是命令行的,但却可以对很多深层次的项目进行操作,例如修改注册表等等后来的使用也证明,cmd实际上也能直接调用图形
6、界面的程序,并在调用结束后可以返回到命令行界面尽管微软把这个工具当做命令解释器一个新的实例,但使用的方法却和原来的没有区别,打开命令行窗口之后,可以找到与相同的系统提示符号C:/,命令必须键入在这个提示符的后面,以回车键确认。完整的语法如下:CMD /A | /U /Q /D /E:ON | /E:OFF /F:ON | /F:OFF /V:ON | /V:OFF/S /C | /K string各个参数的含义:CMD:是命令名称,这可省略以下是命令所用的参数或开关/C 执行字符串指定的命令然后终断/K 执行字符串指定的命令但保留/S 在 /C 或 /K 后修改字符串处理(见下)/Q 关闭回应
7、/D 从注册表中停用执行 AutoRun 命令(见下)/A 使向内部管道或文件命令的输出成为 ANSI/U 使向内部管道或文件命令的输出成为 Unicode/T:fg 设置前景/背景颜色(详细信息,请见 COLOR /?)/E:ON 启用命令扩展(见下)OFF 停用命令扩展(见下)/F:ON 启用文件和目录名称完成字符 (见下)OFF 停用文件和目录名称完成字符(见下)/V:ON 将 c 作为定界符启动延缓环境变量扩展。如: /V:ON 会允许 !var! 在执行时允许 ! 扩展变量 var。var 语法在输入时扩展变量,这与在一个 FOR 循环内不同。OFF 停用延缓的环境扩展。请注意,如果
8、字符串有引号,可以接受用命令分隔符 '& 隔开的多个命令。并且,由于兼容原因,/X 与 /E:ON 相同,/Y 与OFF 相同,并且 /R 与 /C 相同。忽略任何其它命令选项。如果指定了 /C 或 /K,命令选项后的命令行其余部分将作为命令行处理;在这种情况下,会使用下列逻辑处理引号字符():1. 如果符合下列所有条件,那么在命令行上的引号字符将被保留:- 不带 /S 命令选项- 整整两个引号字符- 在两个引号字符之间没有特殊字符,特殊字符为下列中的一个: ()|- 在两个引号字符之间有至少一个空白字符- 在两个引号字符之间有至少一个可执行文件的名称。2. 否则,老办法是,看第一个字
9、符是否是一个引号字符,如果是,舍去开头的字符并删除命令行上 的最后一个引号字符, 保留最后一个引号字符之后的文字。如果 /D 未在命令行上被指定,当 CMD.EXE 开始时,它会寻找以下 REG_SZ/REG_EXPAND_SZ 注册表变量。如果其中一个或两个都存在,这两个变量会先被执行。HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorAutoRun和/或HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorAutoRun命令扩展是按默认值启用的。您也可以使用 /E:OFF,为某一特定调用而
10、停用扩展。您可以在机器上和/或用户登录会话上启用或停用 CMD.EXE 所有调用的扩展,这要通过设置使用REGEDT32.EXE 的注册表中的一个或两个 REG_DWORD 值:HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorEnableExtensionsHKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorEnableExtensions到 0x1 或 0x0。用户特定设置比机器设置有优先权。命令行命令选项比注册表设置有优先权。原来的dos中有所谓的内部命令和外部命令,在cmd中,引入了
11、命令行扩展,你可以在cmd窗口中直接执行下面的扩展部分,扩展部分之前不必加cmd.命令行扩展包括对下列命令所做的更改和/或添加:DEL 或 ERASECOLORCD 或 CHDIRMD 或 MKDIRPROMPTPUSHDPOPDSETSETLOCALENDLOCALIFFORCALLSHIFTGOTOSTART (同时包括对外部命令调用所做的更改)ASSOCFTYPE有关详细信息,请键入 HELP 命令名。二、REGWindowsXP提供的reg命令行就可以做到。Reg:添加、更改和显示注册表项中的注册表子项信息和值。reg add:将新的子项或项添加到注册表中。语法:reg add Key
12、Name /v EntryName|/ve /t DataType /s separator /d value /f参数:KeyName指定子项的完全路径。对于远程计算机,请在 ComputerNamePathToSubkey 中的子项路径前包含计算机名称。忽略 ComputerName 会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。/v EntryName:指定要添加到指定子项下的项名称。/ve:指定添加到注册表中的项为空值。/t DataType:指定项值的数据类型。DataType 可以是以下几种类型:RE
13、G_SZREG_MULTI_SZREG_DWORD_BIG_ENDIANREG_DWORDREG_BINARYREG_DWORD_LITTLE_ENDIANREG_LINKREG_FULL_RESOURCE_DEscrptORREG_EXPAND_SZ/s separator:指定用于分隔多个数据实例的字符。当 REG_MULTI_SZ 指定为数据类型且需要列出多个项时,请使用该参数。如果没有指定,将使用默认分隔符为 。/d value:指定新注册表项的值。/f:不用询问信息而直接添加子项或项。/?:在命令提示符显示帮助。注释:该操作不能添加子树。该版本的Reg在添加子项时无需请求确认。下表列
14、出了 reg add 操作的返回值。 值说明:0 成功1 失败范例下列范例说明了如何使用 reg add 命令:reg add hklmsoftwaremyco /v data /t reg_binary /d fe340eadreg add hkcusoftwaremicrosoftwinmine /v Name3 /t reg_sz /d Anonymous /v Time3 /t reg_dword /d 5reg compare:比较指定的注册表子项或项。reg compare KeyName1 KeyName2 /v EntryName | /ve /oa|/od|/os|on Ke
15、yName:指定子项的完全路径。如果指定远程计算机,则只可使用 HKLM 和 HKU 子目录树。比较子项下的特定项。指定只可以比较没有值的项。/oa|/od|/os|on:指定不同点和匹配点的显示方式。默认设置是/od。 /oa 指定显示所有不同点和匹配点。默认情况下,仅列出不同点。/od 指定仅显示不同点。这是默认操作。/os 指定仅显示匹配点。/on 指定不显示任何内容。/s Separator:比较所有子项和项。下表列出了 reg compare 操作的返回值。0 比较成功且结果相同。1 比较失败。2 比较成功并找到不同点。范例:下面的范例说明了如何使用 reg compare 命令:r
16、eg compare /od /sreg copy:将一个注册表项复制到本地或远程计算机的指定位置。reg copy KeyName1 KeyName2 /fKeyName1:指定要复制子项的完整路径。KeyName2:指定子项目的地的完整路径。/s:复制指定子项下的所有子项和项。无需请求确认而直接复制子项。该版本的 Reg 在复制子项时无须请求确认。下表列出了 reg copy 操作的返回值。下列范例说明了如何使用 reg copy 命令:reg copy hkcusoftwaremicrosoftwinminebk /s /f /sreg delete:从注册表删除项或子项语法reg de
17、lete KeyName /v EntryName|/ve|/va /f参数删除子项下的特定项。如果未指定项,则将删除子项下的所有项和子项。指定只可以删除为空值的项。/va:删除指定子项下的所有项。使用本参数不能删除指定子项下的子项。无需请求确认而删除现有的注册表子项或项。下表列出了 reg delete 操作的返回值。下面的范例说明了如何使用 reg delete 命令:reg delete /v Name1 /v Time1 /vareg export:将指定子项、项和值的副本创建到文件中,以便将其传输到其它服务器。reg export KeyName FileNameExport 操作仅
18、可在本地计算机上工作。FileName:指定要导出文件的名称和路径。该文件必须具有 .reg 扩展名。下表列出了 reg export 操作的返回值。下面的范例说明了如何使用 reg export 命令:reg export c:dataregbackupswmbkup.regreg import:将包含导出的注册表子项、项和值的文件复制到本地计算机的注册表中。reg import FileName指定将复制到本地计算机注册表中的文件的名称和路径。必须预先使用 reg export 命令创建该文件。下表列出了 reg import 操作的返回值。下面的范例说明了如何使用 reg import
19、命令:reg import hkcusoftwaremicrosoftwinminereg load:将保存的子项和项写回到注册表的不同子项中。其目的是保存到一个临时文件中,而该文件可用于注册表项的疑难解答或编辑注册表项。reg load KeyName FileName指定要加载的文件的名称和路径。必须使用带 .hiv 扩展名的 reg save 操作创建该文件。下表列出了 reg load 操作的返回值。下面的范例说明了如何使用 reg load 命令:reg load hkcusoftwaremicrosoftwinminebk2 wmbkup.hivreg query:返回注册表的子项下的项和下一层子项的列表。reg query KeyName /v EntryName|/ve 返回特定的项及其值。该参数只返回直接位于指定子项的下一层中的项。将会找不到当前子项下的子项中的项。如果省略 EntryName,则将返回子项下的所有项。指定仅返回为空值的项。将返回各个层中的所有子项和项。如果不使用该参数,将只返回下一层的子项和项。下表列出了 reg query 操作的返回值。下面的范例说明了如何使用 reg quer
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1