计算机一级考试辅导:命令行操作注册表计算机等级考试

文章作者 100test 发表时间 2009:05:16 20:14:23
来源 100Test.Com百考试题网


  Regedit
  regedit虽是gui下使用的东东 但其实是有未公开的参数的 可以在cmd下使用
  regedit的运行参数
  REGEDIT [/L:system] [/R:user] filename1美国商务 3535.us
  REGEDIT [/L:system] [/R:user] /C filename2
  REGEDIT [/L:system] [/R:user] /E filename3 [regpath]
  /L:system Specifies the location of the SYSTEM.DAT file.
  /R:user Specifies the location of the USER.DAT file.
  filename1 Specifies the file(s) to import into the regist
  /C filename2 Specifies the file to create the registry from.
  /E filename3 Specifies the file to export the registry to.
  regpath Specifies the starting registry key to export from.
  (Defaults to exporting the entire registry).
  /S (Windows) Silent - no message on completion.
  从Windows命令行快速操作注册表
  每一个熟悉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的搜索范围
  命令行方式直接修改注册表
  一、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_MACHINESoftwareMicrosoftCommand ProcessorAutoRun
  和/或
  HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorAutoRun
  命令扩展是按默认值启用的。您也可以使用 /E:OFF,为某一特定调用而停用扩展。您可以在机器上和/或用户登录会话上启用或停用 CMD.EXE 所有调用的扩展,这要通过设置使用REGEDT32.EXE 的注册表中的一个或两个 REG_DWORD 值:
  HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorEnableExtensions
  和/或
  HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorEnableExtensions
  到 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 命令名。

相关文章


在Windows7中做好文件备份与还原计算机等级考试
计算机一级考试辅导:命令行操作注册表计算机等级考试
如何加快开机速度?360有妙招计算机等级考试
XP_Server03远程桌面资源共享大全计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛