命令行操作注册表.docx

上传人:b****4 文档编号:4306532 上传时间:2022-11-29 格式:DOCX 页数:11 大小:57.24KB
下载 相关 举报
命令行操作注册表.docx_第1页
第1页 / 共11页
命令行操作注册表.docx_第2页
第2页 / 共11页
命令行操作注册表.docx_第3页
第3页 / 共11页
命令行操作注册表.docx_第4页
第4页 / 共11页
命令行操作注册表.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

命令行操作注册表.docx

《命令行操作注册表.docx》由会员分享,可在线阅读,更多相关《命令行操作注册表.docx(11页珍藏版)》请在冰豆网上搜索。

命令行操作注册表.docx

命令行操作注册表

命令行操作注册表

本文由:

xp系统下载提供技术支持

Regedit

  regedit虽是gui下使用的东东但其实是有未公开的参数的可以在cmd下使用。

  regedit的运行参数:

  REGEDIT[/L:

system][/R:

user]filename1

  REGEDIT[/L:

system][/R:

user]/Cfilename2

  REGEDIT[/L:

system][/R:

user]/Efilename3[regpath]

  /L:

systemSpecifiesthelocationoftheSYSTEM.DATfile.

  /R:

userSpecifiesthelocationoftheUSER.DATfile.

  filename1Specifiesthefile(s)toimportintotheregist

  /Cfilename2Specifiesthefiletocreatetheregistryfrom.

  /Efilename3Specifiesthefiletoexporttheregistryto.

  regpathSpecifiesthestartingregistrykeytoexportfrom.

  (Defaultstoexportingtheentireregistry).

  /S(Windows)Silent-nomessageoncompletion.

  从Windows命令行快速操作注册表

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

  绝大多数情形下,操作注册表意味着找到某个特定的子键;偶尔地,可能需要修改一下子键的名称(例如,可能要进行结构上的改动)。

那么,怎样才能迅速找到正确的子键并执行修改?

另外,如果你不仅要改动本地机器的注册表,而且还要对远程机器作同样的修改,该怎么办?

告诉你一个好工具Regfind。

  Regfind:

  可以从Windows2000Server的ResourceKitSupplementOne找到,或者从网上下载。

Regfind适用于Windows的各个版本,包括Windows9x系列。

  Regfind是一个命令行工具。

不带任何选项执行Regfind,它将显示出帮助信息。

最简单的用法是执行查找,例如执行Regfind\"QQ\",Regfind将找出所有包含字符串“QQ”的注册键。

  除了单纯的查找之外,Regfind还能够执行替换:

只需在图一的命令后加上-r选项和一个替换字符串即可。

例如,假设你公司的名称从AGroup改成了BGroup,现在你想要对注册表中所有的产品注册信息作相应的改动,只需执行:

Regfind\"AGroup\"-r\"BGroup\"。

注意,如果搜索字符串包含空格或标点符号,字符串应该用引号包围。

  如果要对一台远程机器作相应的改动,只需在前面的命令后加上-m选项并指定远程机器的UNC(UniversalNamingConvention,通用命名协定)路径,例如:

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的搜索操作对大小写不敏感,即如果你执行RegfindAGroup-y,则Regfind的搜索结果中将包含AGroup、aGroup以及其他字母大小写的组合(如果没有-y选项,Regfind默认对大小写敏感,但Regfind的命令选项对大小写不敏感,例如你可以随意使用-R或-r)。

  第二,如果用Regfind执行搜索/替换操作,它将替换所有找到的字符串,你不能要求Regfind只替换其中一个字符串。

勉强可算是补救策略的方法是:

将搜索操作限制在某个特定的注册表分支。

因此,我的建议是:

首先用Regfind找出所有匹配的注册子键,然后用Regfind执行全局替换或手工修改某个特定的子键。

  第三,如果你想要修改数值型数据,Regfind似乎算不上最佳帮手。

这是因为,许多要处理的REG_DWORD值不是0就是1,而0和1在注册表中出现的机会实在太频繁了,很可能出现误替换的情形。

解决问题的唯一办法就是尽可能精确地限定Regfind的搜索范围

  命令行方式直接修改注册表

  一、CMD

  cmd是windows2000中的一个小得如鸽子蛋一样的程序,是一个所谓命令行控制台。

有两条进入该程序的通道:

第一,鼠标点击"开始->运行",在出现的编辑框中键入"cmd",然后点击"确定";第二,在启动windows2000的时候,按F8进入启动选择菜单,移动光条或键入数字至安全模式的命令行状态。

出现的窗口是一个在win9x系统常见的那种msdos方式的界面――一个黑乎乎的窗口.甚至还没有msdos方式的窗口耐看:

连常用的工具条都没有放上.我真想不通,贵为最新的操作系统,因何还保留似乎是石器时代的dos界面呢?

像往常一样,习惯性低在命令后面键入:

cmd/?

,想看看会提示些什么?

  孰料出现的东西使我大吃一惊:

1.这些信息是中文的,要知道原来纯dos环境可不会直接支持中文呀!

2.有相当详细的帮助信息.3.界面虽然是命令行的,但却可以对很多深层次的项目进行操作,,例如修改注册表等等.后来的使用也证明,cmd实际上也能直接调用图形界面的程序,并在调用结束后可以返回到命令行界面.

  尽管微软把这个工具当做命令解释器一个新的实例,但使用的方法却和原来的dos没有区别,打开命令行窗口之后,可以找到与dos相同的系统提示符号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关闭回应

  /D从注册表中停用执行AutoRun命令(见下)

  /A使向内部管道或文件命令的输出成为ANSI

  /U使向内部管道或文件命令的输出成为Unicode

  /T:

fg设置前景/背景颜色(详细信息,请见COLOR/?

  /E:

ON启用命令扩展(见下)

  /E:

OFF停用命令扩展(见下)

  /F:

ON启用文件和目录名称完成字符(见下)

  /F:

OFF停用文件和目录名称完成字符(见下)

  /V:

ON将c作为定界符启动延缓环境变量扩展。

如:

/V:

ON会允许!

var!

在执行时允许!

var!

扩展变量var。

var语法在输入时扩展变量,这与在一个FOR循环内不同。

  /V:

OFF停用延缓的环境扩展。

请注意,如果字符串有引号,可以接受用命令分隔符'&&'隔开的多个命令。

并且,由于兼容原因,/X与/E:

ON相同,/Y与

  /E:

OFF相同,并且/R与/C相同。

忽略任何其它命令选项。

  如果指定了/C或/K,命令选项后的命令行其余部分将作为命令行处理;在这种情况下,会使用下列逻辑处理引号字符(\"):

  1.如果符合下列所有条件,那么在命令行上的引号字符将被保留:

  -不带/S命令选项

  -整整两个引号字符

  -在两个引号字符之间没有特殊字符,特殊字符为下列中的一个:

<>()@^|

  -在两个引号字符之间有至少一个空白字符

  -在两个引号字符之间有至少一个可执行文件的名称。

  2.否则,老办法是,看第一个字符是否是一个引号字符,如果是,舍去开头的字符并删除命令行上的最后一个引号字符,保留最后一个引号字符之后的文字。

如果/D未在命令行上被指定,当CMD.EXE开始时,它会寻找以下REG_SZ/REG_EXPAND_SZ注册表变量。

如果其中一个或两个都存在,这两个变量会先被执行。

  HKEY_LOCAL_MACHINESoftwareMicrosoftCommandProcessorAutoRun

  和/或

  HKEY_CURRENT_USERSoftwareMicrosoftCommandProcessorAutoRun

  命令扩展是按默认值启用的。

您也可以使用/E:

OFF,为某一特定调用而停用扩展。

您可以在机器上和/或用户登录会话上启用或停用CMD.EXE所有调用的扩展,这要通过设置使用REGEDT32.EXE的注册表中的一个或两个REG_DWORD值:

  HKEY_LOCAL_MACHINESoftwareMicrosoftCommandProcessorEnableExtensions

  和/或

  HKEY_CURRENT_USERSoftwareMicrosoftCommandProcessorEnableExtensions

  到0x1或0x0。

用户特定设置比机器设置有优先权。

命令行命令选项比注册表设置有优先权。

  原来的dos中有所谓的内部命令和外部命令,在cmd中,引入了命令行扩展,你可以在cmd窗口中直接执行下面的扩展部分,扩展部分之前不必加cmd.

  命令行扩展包括对下列命令所做的更改和/或添加:

  DEL或ERASE

  COLOR

  CD或CHDIR

  MD或MKDIR

  PROMPT

  PUSHD

  POPD

  SET

  SETLOCAL

  ENDLOCAL

  IF

  FOR

  CALL

  SHIFT

  GOTO

  START(同时包括对外部命令调用所做的更改)

  ASSOC

  FTYPE

  有关详细信息,请键入HELP命令名。

  二、REG

  WindowsXP提供的reg命令行就可以做到。

  Reg:

添加、更改和显示注册表项中的注册表子项信息和值。

  regadd:

将新的子项或项添加到注册表中。

  语法:

  regaddKeyName[/vEntryName|/ve][/tDataType][/sseparator][/dvalue][/f]

  参数:

  KeyName

  指定子项的完全路径。

对于远程计算机,请在\\\\ComputerName\\PathToSubkey中的子项路径前包含计算机名称。

忽略ComputerName会导致默认对本地计算机进行操作。

以相应的子目录树开始路径。

有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。

  /vEntryName:

指定要添加到指定子项下的项名称。

  /ve:

指定添加到注册表中的项为空值。

  /tDataType:

指定项值的数据类型。

DataType可以是以下几种类型:

    REG_SZ

    REG_MULTI_SZ

    REG_DWORD_BIG_ENDIAN

    REG_DWORD

    REG_BINARY

    REG_DWORD_LITTLE_ENDIAN

    REG_LINK

    REG_FULL_RESOURCE_DEscrīptOR

    REG_EXPAND_SZ

  /sseparator:

指定用于分隔多个数据实例的字符。

当REG_MULTI_SZ指定为数据类型且需要列出多个项时,请使用该参数。

如果没有指定,将使用默认分隔符为\\。

  /dvalue:

指定新注册表项的值。

  /f:

不用询问信息而直接添加子项或项。

  /?

在命令提示符显示帮助。

  注释:

该操作不能添加子树。

该版本的Reg在添加子项时无需请求确认。

  下表列出了regadd操作的返回值。

值说明:

  0成功

  1失败

  范例

  下列范例说明了如何使用regadd命令:

  regadd\\hklm\\software\\myco/vdata/treg_binary/dfe340ead

  regadd\"hkcu\\software\\microsoft\\winmine\"/vName3/treg_sz/dAnonymous

  regadd\"hkcu\\software\\microsoft\\winmine\"/vTime3/treg_dword/d5

  regcompare:

比较指定的注册表子项或项。

  语法:

  regcompareKeyName1KeyName2[/vEntryName|/ve]{[/oa]|[/od]|[/os]|[on]}

  参数:

  KeyName:

指定子项的完全路径。

对于远程计算机,请在\\\\ComputerName\\PathToSubkey中的子项路径前包含计算机名称。

忽略ComputerName会导致默认对本地计算机进行操作。

以相应的子目录树开始路径。

有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。

如果指定远程计算机,则只可使用HKLM和HKU子目录树。

  /vEntryName:

比较子项下的特定项。

  /ve:

指定只可以比较没有值的项。

  {[/oa]|[/od]|[/os]|[on]}:

指定不同点和匹配点的显示方式。

默认设置是/od。

    /oa指定显示所有不同点和匹配点。

默认情况下,仅列出不同点。

    /od指定仅显示不同点。

这是默认操作。

    /os指定仅显示匹配点。

默认情况下,仅列出不同点。

    /on指定不显示任何内容。

默认情况下,仅列出不同点。

  /sSeparator:

比较所有子项和项。

  /?

在命令提示符显示帮助。

  注释:

下表列出了regcompare操作的返回值。

  0比较成功且结果相同。

  1比较失败。

  2比较成功并找到不同点。

  范例:

下面的范例说明了如何使用regcompare命令:

  regcompare\"hkcu\\software\\microsoft\\winmine\"\"hkcu\\software\\microsoft\\winmine\"/od/s

  regcopy:

将一个注册表项复制到本地或远程计算机的指定位置。

  语法:

  regcopyKeyName1KeyName2[/f]

  参数:

  KeyName1:

指定要复制子项的完整路径。

对于远程计算机,请在\\\\ComputerName\\PathToSubkey中的子项路径前包含计算机名称。

忽略ComputerName会导致默认对本地计算机进行操作。

以相应的子目录树开始路径。

有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。

如果指定远程计算机,则只可使用HKLM和HKU子目录树。

  KeyName2:

指定子项目的地的完整路径。

对于远程计算机,请在\\\\ComputerName\\PathToSubkey中的子项路径前包含计算机名称。

忽略ComputerName会导致默认对本地计算机进行操作。

以相应的子目录树开始路径。

有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。

如果指定远程计算机,则只可使用HKLM和HKU子目录树。

  /s:

复制指定子项下的所有子项和项。

  /f:

无需请求确认而直接复制子项。

  /?

在命令提示符显示帮助。

  注释:

该版本的Reg在复制子项时无须请求确认。

  下表列出了regcopy操作的返回值。

  0成功

  1失败

  范例:

下列范例说明了如何使用regcopy命令:

  regcopy\"hkcu\\software\\microsoft\\winmine\"\"hkcu\\software\\microsoft\\winminebk\"/s/f

  regcopy\"hkcu\\software\\microsoft\\winminebk\"\"hkcu\\software\\microsoft\\winmine\"/s

  regdelete:

从注册表删除项或子项

  语法

  regdeleteKeyName[{/vEntryName|/ve|/va}][/f]

  参数

  KeyName:

指定子项的完全路径。

对于远程计算机,请在\\\\ComputerName\\PathToSubkey中的子项路径前包含计算机名称。

忽略ComputerName会导致默认对本地计算机进行操作。

以相应的子目录树开始路径。

有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。

  /vEntryName:

删除子项下的特定项。

如果未指定项,则将删除子项下的所有项和子项。

  /ve:

指定只可以删除为空值的项。

  /va:

删除指定子项下的所有项。

使用本参数不能删除指定子项下的子项。

  /f:

无需请求确认而删除现有的注册表子项或项。

  /?

在命令提示符显示帮助。

  注释:

下表列出了regdelete操作的返回值。

  0成功

  1失败

  范例:

下面的范例说明了如何使用regdelete命令:

  regdelete\"hkcu\\software\\microsoft\\winmine\"/vName1

  regdelete\"hkcu\\software\\microsoft\\winmine\"/vTime1

  regdelete\"hkcu\\software\\microsoft\\winmine\"/va

  regexport:

将指定子项、项和值的副本创建到文件中,以便将其传输到其它服务器。

  语法

  regexportKeyNameFileName

  参数

  KeyName:

指定子项的完全路径。

Export操作仅可在本地计算机上工作。

以相应的子目录树开始路径。

有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。

  FileName:

指定要导出文件的名称和路径。

该文件必须具有.reg扩展名。

  /?

在命令提示符显示帮助。

  注释:

下表列出了regexport操作的返回值。

  0成功

  1失败

  范例:

下面的范例说明了如何使用regexport命令:

  regexport\"hkcu\\software\\microsoft\\winmine\"c:

\\data\\regbackups\\wmbkup.reg

  regimport:

将包含导出的注册表子项、项和值的文件复制到本地计算机的注册表中。

  语法

  regimportFileName

  参数

  FileName:

指定将复制到本地计算机注册表中的文件的名称和路径。

必须预先使用regexport命令创建该文件。

  /?

在命令提示符显示帮助。

  注释:

下表列出了regimport操作的返回值。

  0成功

  1失败

  范例:

下面的范例说明了如何使用regimport命令:

  regimporthkcu\\software\\microsoft\\winmine\"c:

\\data\\regbackups\\wmbkup.reg

  regload:

将保存的子项和项写回到注册表的不同子项中。

其目的是保存到一个临时文件中,而该文件可用于注册表项的疑难解答或编辑注册表项。

  语法

  regloadKeyNameFileName

  参数

  KeyName:

指定子项的完全路径。

对于远程计算机,请在\\\\ComputerName\\PathToSubkey中的子项路径前包含计算机名称。

忽略ComputerName会导致默认对本地计算机进行操作。

以相应的子目录树开始路径。

有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。

  FileName:

指定要加载的文件的名称和路径。

必须使用带.hiv扩展名的regsave操作创建该文件。

  /?

在命令提示符显示帮助。

  注释:

下表列出了regload操作的返回值。

  0成功

  1失败

  范例:

下面的范例说明了如何使用regload命令:

  regload\"hkcu\\software\\microsoft\\winminebk2\"wmbkup.hiv

  regquery:

返回注册表的子项下的项和下一层子项的列表。

  语法

  regqueryKeyName[{/vEntryName|/ve}]

  参数:

  KeyName:

指定子项的完全路径。

对于远程计算机,请在\\\\ComputerName\\PathToSubkey中的子项路径前包含计算机名称。

忽略ComputerName会导致默认对本地计算机进行操作。

以相应的子目录树开始路径。

有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。

如果指定远程计算机,则只可使用HKLM和HKU子目录树。

  /vEntryName:

返回特定的项及其值。

该参数只返回直接位于指定子项的下一层中的项。

将会找不到当前子项下的子项中的项。

如果省略EntryName,则将返回子项下的所有项。

  /ve:

指定仅返回为空值的项。

  /s:

将返回各个层中的所有子项和项。

如果不使用该参数,将只返回下一层的子项和项。

  /?

在命令提示符显示帮助。

  注释:

下表列出了regquery操作的返回值。

  0成功

  1失败

  范例:

下面的范例说明了如何使用regquer

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1