Reg命令使用详解 批处理操作注册表必备

只有在别无选择的情况下,才直接编辑注册表。注册表编辑器会忽略标准的安全措施,从而使得这些设置会降低性能、破坏系统,甚至要求用户重新安装Windows。可以利用“控制面板”或“Microsoft管理控制台(MMC)”中的程序安全更改多数注册表设置。如果必须直接编辑注册表,则请首先将其备份。使用Reg直接编辑本地或远程计算机的注册表。这些更改有可能造成计算机无法操作并需要重新安装操作系统。所以不要直接编辑注册表,而应尽可能利用“控制面板”或“Microsoft管理控制台(MMC)”更改注册表。有些操作可以查看或配置本地或远程计算机的注册表项,而另外一些则只允许配置本地计算机的注册表设置。同时,远程访问注册表也可能会限制用于某操作的参数。请检查每个操作的语法以便验证该操作可以用于远程计算机,以及验证可用于那种情况下的参数。

  reg命令是WindowsXP提供的,它可以添加、更改和显示注册表项中的注册表子项信息和值。

  1,reg add 将新的子项或项添加到注册表中
  语法:reg add KeyName [/v EntryName|/ve] [/t DataType] [/s separator] [/d value] [/f]
  参数
  KeyName
  指定子项的完全路径。对于远程计算机,请在\\ComputerName\PathToSubkey中的子项路径前包含计算机名称。忽略ComputerName会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。远程机器上只有 HKLM 和 HKU。
  值 说明
  HKCR: HKEY_CLASSES_ROOT
  HKCU: HKEY_CURRENT_USER
  HKLM: HKEY_LOCAL_MACHINE
  HKU: HKEY_USERS
  HKCC: HKEY_CURRENT_CONFIG

  /v EntryName
  指定要添加到指定子项下的项名称。
  /ve
  指定添加到注册表中的项为空值。
  /t DataType
  指定项值的数据类型。DataType可以是以下几种类型:
  REG_SZ
  REG_MULTI_SZ
  REG_DWORD_BIG_ENDIAN
  REG_DWORD
  REG_BINARY
  REG_DWORD_LITTLE_ENDIAN
  REG_LINK
  REG_FULL_RESOURCE_DESCRIPTOR
  REG_EXPAND_SZ

  /s separator
  指定用于分隔多个数据实例的字符。当REG_MULTI_SZ指定为数据类型且需要列出多个项时,请使用该参数。如果没有指定,将使用默认分隔符为"\0"。
  /d value
  指定新注册表项的值。
  /f
  不用询问信息而直接添加子项或项。
  /?
  在命令提示符显示帮助。

  注释
  该操作不能添加子树。该版本的Reg在添加子项时无需请求确认。
  下表列出了reg add操作的返回值。值说明
  0成功
  1失败

/v 所选项之下要添加的值名。

/ve 为注册表项添加空白值名(默认)。

/t RegKey 数据类型
[ REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ |
REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE ]
如果忽略,则采用 REG_SZ。

/s 指定一个在 REG_MULTI_SZ 数据字符串中用作分隔符的字符
如果忽略,则将 "\0" 用作分隔符。

/d 要分配给添加的注册表 ValueName 的数据。

/f 不用提示就强行覆盖现有注册表项。

  范例
  (补充,cmd /k 为在运行中使用reg命令)
  下列范例说明了如何使用reg add命令:
  cmd /k reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL" /v Checkedvalue /t reg_dword /d 1 /f(显示隐藏的文件和文件夹)
  cmd /k reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v systray /t REG_SZ /d "%SystemRoot%\system32\systray.exe" /f(开机启动音量控制)
  cmd /k reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%SystemRoot%\explorer.exe" /f(开机启动explorer外壳程序)
  cmd /k reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v SoundMan /t REG_SZ /d "%SystemRoot%\SOUNDMAN.exe" /f(开机启动AC97音效管理员程序)
  cmd /k reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE" /ve /d "%ProgramFiles%\Internet Explorer\IEXPLORE.EXE" /t REG_SZ /f
  (UC房间打不开广播)
  cmd /k reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSCONFIG.EXE" /ve /d "%SystemRoot%\PCHealth\HelpCtr\Binaries\MSConfig.exe" /t REG_SZ /f
  (运行MSConfig提示找不到文件)
  cmd /k reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\wmplayer.exe" /ve /d "%ProgramFiles%\Windows Media Player\wmplayer.exe" /t REG_SZ /f
  (不能正常调用WMP播放器的修复)
  cmd /k reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WORDPAD.EXE" /ve /d "%ProgramFiles%\Windows NT\Accessories\WORDPAD.EXE" /t REG_SZ /f
  (不能正常调用写字板的修复)
  cmd /k reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v ctfmon.exe /t REG_SZ /d "%SystemRoot%\system32\ctfmon.exe" /f(开机启动输入法程序CTFMON)
  cmd /k reg add "HKCU\ControlPanel\Desktop" /v WaitToKIllAppTimeOut /t REG_SZ /d 10000 /f(加速关闭应用程序)

 例如:

REG ADD \\ABC\HKLM\Software\MyCo
添加远程机器 ABC 上的一个注册表项 HKLM\Software\MyCo

REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead
添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead)

REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail
添加一个值(名称: MRU,类型: REG_MUTLI_SZ,数据: fax\0mail\0\0)

REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^%
添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%)
注意: 在扩充字符串中使用插入符号 ( ^ )

reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000
reg add HKLM\SYSTEM\CurrentControlSet\services\NlaSvc\Parameters\Internet /v EnableActiveProbing /t REG_DWORD /d 1

  2,reg delete 从注册表删除项或子项
  语法:reg delete KeyName [{/v EntryName|/ve|/va}] [/f]
  参数
  KeyName
  指定子项的完全路径。对于远程计算机,请在\\ComputerName\PathToSubkey中的子项路径前包含计算机名称。忽略ComputerName会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。
  /v EntryName
  删除子项下的特定项。如果未指定项,则将删除子项下的所有项和子项。
  /ve
  指定只可以删除为空值的项。
  /va
  删除指定子项下的所有项。使用本参数不能删除指定子项下的子项。
  /f
  无需请求确认而删除现有的注册表子项或项。
  /?
  在命令提示符显示帮助。

  注释
  下表列出了reg delete操作的返回值。值说明
  0成功
  1失败

  范例
  下面的范例说明了如何使用reg delete命令:
  cmd /k reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe" /f(任务栏里的任务管理器为灰色)
  cmd /k reg delete "HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg" /f(删除MSConfig启动里的未勾选项目)
  cmd /k reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ctfmon.exe" /f(删除CTFMON的镜像劫持)
  cmd /k reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\TrayNotify" /v IconStreams /f
  cmd /k reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\TrayNotify" /v PastIconsStream /f(删除通知区域的历史记录)

  3,reg compare 比较指定的注册表子项或项
  语法:reg compare KeyName1 KeyName2 [/v EntryName | /ve] {[/oa]|[/od]|[/os]|[on]} [/s]
  参数
  KeyName
  指定子项的完全路径。对于远程计算机,请在\\ComputerName\PathToSubkey中的子项路径前包含计算机名称。忽略ComputerName会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。如果指定远程计算机,则只可使用HKLM和HKU子目录树。
  /v EntryName
  比较子项下的特定项。
  /ve
  指定只可以比较没有值的项。
  {[/oa]|[/od]|[/os]|[on]}
  指定不同点和匹配点的显示方式。默认设置是/od。值说明
  /oa指定显示所有不同点和匹配点。默认情况下,仅列出不同点。
  /od指定仅显示不同点。这是默认操作。
  /os指定仅显示匹配点。默认情况下,仅列出不同点。
  /on指定不显示任何内容。默认情况下,仅列出不同点。
  /s Separator
  比较所有子项和项。
  /?
  在命令提示符显示帮助。

  注释
  下表列出了reg compare操作的返回值。值说明
  0比较成功且结果相同。
  1比较失败。
  2比较成功并找到不同点。

  范例
  下面的范例说明了如何使用reg compare命令:
  reg compare "hkcu\software\microsoft\winmine" "hkcu\software\microsoft\winmine" /od /s

  4,reg copy 将一个注册表项复制到本地或远程计算机的指定位置
  语法:reg copy KeyName1 KeyName2 [/s] [/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在复制子项时无须请求确认。
  下表列出了reg copy操作的返回值。值说明
  0成功
  1失败

  范例
  下列范例说明了如何使用reg copy命令:
  reg copy "hkcu\software\microsoft\winmine" "hkcu\software\microsoft\winminebk" /s /f
  reg copy "hkcu\software\microsoft\winminebk" "hkcu\software\microsoft\winmine" /s

  5,reg export 将指定子项、项和值的副本创建到文件中,以便将其传输到其它服务器
  语法:reg export KeyName FileName
  参数
  KeyName
  指定子项的完全路径。Export操作仅可在本地计算机上工作。以相应的子目录树开始路径。有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。
  FileName
  指定要导出文件的名称和路径。该文件必须具有.reg扩展名。
  /?
  在命令提示符显示帮助。

  注释
  下表列出了reg export操作的返回值。值说明
  0成功
  1失败

  范例
  下面的范例说明了如何使用reg export命令:
  reg export "hkcu\software\microsoft\winmine" c:\data\regbackups\wmbkup.reg

  6,reg import 将包含导出的注册表子项、项和值的文件复制到本地计算机的注册表中
  语法:reg import FileName
  参数
  FileName
  指定将复制到本地计算机注册表中的文件的名称和路径。必须预先使用reg export命令创建该文件。
  /?
  在命令提示符显示帮助。

  注释
  下表列出了reg import操作的返回值。值说明
  0成功
  1失败

  范例
  下面的范例说明了如何使用reg import命令:
  reg import hkcu\software\microsoft\winmine" c:\data\regbackups\wmbkup.reg

  7,reg load 将保存的子项和项写回到注册表的不同子项中
  其目的是保存到一个临时文件中,而该文件可用于注册表项的疑难解答或编辑注册表项。
  语法:reg load KeyName FileName
  参数
  KeyName
  指定子项的完全路径。对于远程计算机,请在\\ComputerName\PathToSubkey中的子项路径前包含计算机名称。忽略ComputerName会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为HKLM

  8,reg query 返回注册表的子项下的项和下一层子项的列表
  语法:reg query KeyName [{/v EntryName|/ve}] [/s]
  参数
  KeyName
  指定子项的完全路径。对于远程计算机,请在 \\ComputerName\PathToSubkey 中的子项路径前包含计算机名称。忽略 ComputerName 会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定远程计算机,则只可使用 HKLM 和 HKU 子目录树。
  /v EntryName
  返回特定的项及其值。该参数只返回直接位于指定子项的下一层中的项。将会找不到当前子项下的子项中的项。如果省略 EntryName,则将返回子项下的所有项。
  /ve
  指定仅返回为空值的项。
  /s
  将返回各个层中的所有子项和项。如果不使用该参数,将只返回下一层的子项和项。
  /?
  在命令提示符显示帮助。

  注释
  下表列出了 reg query 操作的返回值。 值 说明
  0 成功
  1 失败

  范例
  下面的范例说明了如何使用 reg query 命令:
  reg query "hklm\system\currentcontrolset\control\session manager" /v maxstacktracedepth
  reg query "hkcu\software\microsoft\winmine" /s

  9,reg restore将保存的子项和项写回到注册表
  语法:reg restore KeyName FileName
  参数
  KeyName
  指定子项的完全路径。Restore 操作仅在本地计算机上工作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。
  FileName
  指定将写回到注册表中的文件的名称和路径。必须使用带 .hiv 扩展名的 reg save 操作预先创建该文件。
  /?
  在命令提示符显示帮助。

  注释
  该操作用于覆盖已编辑的注册表项。编辑注册表项之前,请使用 reg save 操作保存父亲子项。如果编辑失败,则可以使用本操作恢复子项。
  下表列出了 reg restore 操作的返回值。 值 说明
  0 成功
  1 失败

  范例
  下面的范例说明了如何使用 reg restore 命令:
  reg restore "hkcu\software\microsoft\winmine" wmbkup.hiv

  10,reg save将指定的子项、项和注册表值的副本保存到指定文件中。
  语法
  reg save KeyName FileName
  参数
  KeyName
  指定子项的完全路径。对于远程计算机,请在 \\ComputerName\PathToSubkey 中的子项路径前包含计算机名称。忽略 ComputerName 会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。
  FileName
  指定所创建的文件的名称和路径。如果未指定路径,则使用当前路径。
  /?
  在命令提示符显示帮助。

  注释
  下表列出了 reg save 操作的返回值。 值 说明
  0 成功
  1 失败

  范例
  下面的范例说明了如何使用 reg save 命令:
  reg save "hkcu\software\microsoft\winmine" wmbkup.hiv

  11,reg unload 使用 reg load 操作删除已加载的部分注册表
  语法:reg unload KeyName
  参数
  KeyName
  指定子项的完全路径。对于远程计算机,请在 \\ComputerName\PathToSubkey 中的子项路径前包含计算机名称。忽略 ComputerName 会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。
  /?
  在命令提示符显示帮助。

  注释
  下表列出了 reg unload 操作的返回值。 值 说明
  0 成功
  1 失败

  范例
  下面的范例说明了如何使用 reg unload 命令:
  reg unload "hkcu\software\microsoft\winminebk2"

(0)

相关推荐

  • 批处理技术内幕 ECHO命令介绍

    众所周知,如果echo后面跟一个环境变量,但是该变量却为空时,相当于不加任何参数的echo,即输出当前echo是on还是off.很多文章或者教程给出的解决方案都是在echo后面加一个点号echo.,这样就会输出空行. 复制代码 代码如下: @echo off echo %demon.tw% :: ECHO is off. echo.%demon.tw% pause据我所知,用echo输出空行至少有十种方法: 复制代码 代码如下: @echo off echo= echo, echo; echo+

  • 批处理命令教学之tree命令

    tree ,在英语中的基本含义是"树",在cmd中,tree命令的功能是以树形格式罗列文件. 当你向别人展示你自己所做光盘的内容的时候,或者是罗列你硬盘上某个目录下的资料的时候,tree命令显得相当方便,并且能让你展示的内容层次分明,井井有条.啥也不说了,上图,顺便温习一下cd命令. 当然,你可能并不满足于只给别人抓张图,你可能还想把这些信息导入到文件中去,加工一番再发出去,那么,请使用这条命令:tree>list.txt,这样,所有的信息都保存到list.txt文件中去了. 更

  • 批处理命令教学之复合语句连接符(&、&&和||)

    帮助信息: 复制代码 代码如下: & [...] command1 & command2 用来分隔一个命令行中的多个命令.Cmd.exe 运行第一个命令,然后运行第二个命令. && [...] command1 && command2 只有在符号 && 前面的命令成功时,才用于运行该符号后面的命令.Cmd.exe 运行第一个命令,然后只有在第一个命令运行成功时才运行第二个命令. || [...] command1 || command2 只有

  • 批处理命令教学之字符串排序(sort)

    帮助信息: 复制代码 代码如下: SORT [/R] [/+n] [/M kilobytes] [/L locale] [/REC recordbytes]   [[drive1:][path1]filename1] [/T [drive2:][path2]]   [/O [drive3:][path3]filename3]   /+n                         指定开始每个比较的字符号码 n./+3 说明每个                               比

  • 批处理命令教学之more命令

    帮助信息: 逐屏显示输出. 复制代码 代码如下: MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]] MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]     [drive:][path]filename  指定要逐屏显示的文件.     command-name            指定要

  • 批处理命令详解之目录跳转:cd

    当我们需要处理不同路径下的文件的时候,很可能需要切换目录,这个时候,可以考虑使用目录跳转命令cd. 例如,我们打开命令行窗口的时候,一般是这样操作的:在桌面左下角找到"开始"菜单,打开"运行",输入"cmd",回车.这个时候,命令行窗口默认的当前目录位于当前用户所在的路径下,比如:C:\Documents and Settings\JM,如下图所示. 一般而言,这个目录下并没有我们想要处理的文件,我们很可能需要跳转到其他目录,比如说:C盘根目录,

  • 批处理命令Start的使用介绍

    Start 启动单独的"命令提示符"窗口来运行指定程序或命令.如果在没有参数的情况下使用,start 将打开第二个命令提示符窗口. 语法 start ["title"] [/dPath] [/i] [/min] [/max] [{/separate | /shared}] [{/low | /normal | /high | /realtime | /abovenormal | belownormal}] [/wait] [/b] [FileName] [param

  • windows批处理命令教程

    批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们.使用批 处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务.当然我们的这个版本的主要内容是介绍批处理在入侵中一些实际运用,例如我们后面要提到 的用批处理文件来给系统打补丁.批量植入后门程序等.下面就开始我们批处理学习之旅吧. 一.简单批处理内部命令简介 1.echo

  • dos命令或批处理 发生系统错误5 拒绝访问

    win7在dos下运行net start mysql 不能启动mysql!提示发生系统错误 5:拒绝访问! 切换到管理员模式就可以启动了.所以我们要以管理员身份来运行cmd程序来启动mysql. 那么如何用管理员身份来运行cmd程序呢? 1.在开始菜单的搜索框张收入cmd,然后右键单击,并选择以管理员身份运行! 如果每天都要启动mysql服务,这样不很麻烦? 所以: 2.右键单击cmd选择"附到[开始]菜单(U)";这是就可以到开始菜单上找到cmd了, 3.右击选择属性,选择快捷方式,

  • 批处理命令教学之管道符号(|)

    管道符(|)的作用是将符号前的进程输出,当做符号后进程的输入. 例如: 有两条命令,"dir /s /b /a"和" find ".txt"",第一条显示当前文件夹中的所有文件.文件夹,第二条是查找含有字符".txt"的字符串. 两条命令用管道符(|)连接就可以"查找当前文件夹中含有.txt的所有文件.文件夹". 复制代码 代码如下: dir /s /b /a | find ".txt"

  • 批处理命令教学之if语句

    if用于条件判断,适用于以下情形: 1.判断驱动器.文件或文件夹是否存在,用 if exist 语句: 2.判断某两个字符串是否相等,用 if "字符串1"=="字符串2" 语句: 3.判断某两个数值是否相等,用 if 数值1 equ 数值2 语句: 4.判断某个变量是否已经被赋值,用 if defined str 语句: if语句的完整格式是这样的:if 条件表达式 (语句1) else (语句2),它的含义是:如果条件表达式成立,那么,就执行语句1,否则,将执行

  • Windows下用命令行修改IP地址的方法详解(附批处理文件)

    由于我所处的地方要经常在不同的网络之间切换,比如局域网.系统内部网和外网(光是外网我要常常在3个ADSL网之间切换).我之前一直用的方法是在本机上设置多个不同网段的IP,然后切换路由(Route),这样不同的网段通过不同的网关出去,就可以达到同时访问多个网络的目的.但是这样我发现经常可能出现一些问题,所以我决定用最原始的方法来解决,那就是在要使用某一个网段的时候就只用这个网段的IP,这样就需要不停的更换IP地址.当然,在Windows的"网络连接"属性中这样的更改是很麻烦的,不过还好的

  • DOS批处理之DATE命令的使用方法详解

    1.系统帮助 C:\>date /? 显示或设置日期. DATE [/T | date] 仅键入 DATE 而不加参数,可以显示当前日期设置,并且提示 您输入新的日期.按 ENTER 键即可保持原有日期. 如果命令扩展名被启用,DATE 命令会支持 /T 命令选项:该命令选项告诉 命令只输出当前日期,但不提示输出新日期. 2.DATA /T 参数说明 此参数输出当前日期,例如: C:\>DATE /T 2002-10-28 星期一 这个日期格式可能不同与环境变量中的日期格式,如 C:\>

  • 批处理 Set 命令详解 让你理解set命令第1/2页

    set,E文翻译过来就是"设置"的意思,相当于数学里的"令". 如:set X=5,就是令X=5的意思. 语法形式: SET [variable=[string]] SET /P variable=[promptString]  SET /A expression 一.SET [variable=[string]] 示例1: @echo off  set pause  显示所有的变量的值 示例2: @echo off  set var=我是值  echo %var%

随机推荐