技术笔记:reg命令详解

简介: 技术笔记:reg命令详解

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


  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" //代码效果参考:http://hnjlyzjd.com/xl/wz_24701.html

/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 //代码效果参考:http://hnjlyzjd.com/xl/wz_24699.html

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"

相关文章
|
Perl
inux 命令合集 文本处理和正则表达式相关命令之二
inux 命令合集 文本处理和正则表达式相关命令之二
105 0
inux 命令合集 文本处理和正则表达式相关命令之二
|
Linux Shell
shell编程前奏,Linux文本处理工具汇总grep、cut、sort、tee、diff、paste、tr(一)
shell编程前奏,Linux文本处理工具汇总grep、cut、sort、tee、diff、paste、tr(一)
176 0
shell编程前奏,Linux文本处理工具汇总grep、cut、sort、tee、diff、paste、tr(一)
|
Shell Linux Perl
shell编程前奏,Linux文本处理工具汇总grep、cut、sort、tee、diff、paste、tr(二)
shell编程前奏,Linux文本处理工具汇总grep、cut、sort、tee、diff、paste、tr(二)
192 0
shell编程前奏,Linux文本处理工具汇总grep、cut、sort、tee、diff、paste、tr(二)
|
Linux
Linux scp命令复制文件报错: not a regular file
Linux scp命令复制文件报错: not a regular file
444 0
Cypress系列(97)- end() 命令详解
Cypress系列(97)- end() 命令详解
138 0
Cypress系列(97)- end() 命令详解
Cypress系列(35)- root() 命令详解
Cypress系列(35)- root() 命令详解
114 0
Cypress系列(35)- root() 命令详解
|
移动开发 Linux
Linux常用命令 - nl命令详解
Linux常用命令 - nl命令详解
153 0
Linux常用命令 - nl命令详解
|
运维 大数据 Linux
【精通Linux系列】inux核心数据处理查找命令之find,cut,awk, sed命令用法
【精通Linux系列】inux核心数据处理查找命令之find,cut,awk, sed命令用法
201 0
【精通Linux系列】inux核心数据处理查找命令之find,cut,awk, sed命令用法
|
机器学习/深度学习 Linux 网络架构
linux中route命令超详细用法(十五万字)
本篇内容记录了linux中route命令的详细用法。
894 0