Reg命令使用详解 批处理操作注册表必备
Reg命令使用详解 批处理操作注册表必备
发布时间:2016-12-28 来源:查字典编辑
摘要:只有在别无选择的情况下,才直接编辑注册表。注册表编辑器会忽略标准的安全措施,从而使得这些设置会降低性能、破坏系统,甚至要求用户重新安装Win...

只有在别无选择的情况下,才直接编辑注册表。注册表编辑器会忽略标准的安全措施,从而使得这些设置会降低性能、破坏系统,甚至要求用户重新安装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

指定子项的完全路径。对于远程计算机,请在ComputerNamePathToSubkey中的子项路径前包含计算机名称。忽略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指定为数据类型且需要列出多个项时,请使用该参数。如果没有指定,将使用默认分隔符为""。

/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 数据字符串中用作分隔符的字符

如果忽略,则将 "" 用作分隔符。

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

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

范例

(补充,cmd /k 为在运行中使用reg命令)

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

cmd /k reg add "HKLMSoftwareMicrosoftWindowsCurrentVersionexplorerAdvancedFolderHiddenSHOWALL" /v Checkedvalue /t reg_dword /d 1 /f(显示隐藏的文件和文件夹)

cmd /k reg add "HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun" /v systray /t REG_SZ /d "%SystemRoot%system32systray.exe" /f(开机启动音量控制)

cmd /k reg add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" /v Shell /t REG_SZ /d "%SystemRoot%explorer.exe" /f(开机启动explorer外壳程序)

cmd /k reg add "HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun" /v SoundMan /t REG_SZ /d "%SystemRoot%SOUNDMAN.exe" /f(开机启动AC97音效管理员程序)

cmd /k reg add "HKLMSOFTWAREMicrosoftWindowsCurrentVersionApp PathsIEXPLORE.EXE" /ve /d "%ProgramFiles%Internet ExplorerIEXPLORE.EXE" /t REG_SZ /f

(UC房间打不开广播)

cmd /k reg add "HKLMSOFTWAREMicrosoftWindowsCurrentVersionApp PathsMSCONFIG.EXE" /ve /d "%SystemRoot%PCHealthHelpCtrBinariesMSConfig.exe" /t REG_SZ /f

(运行MSConfig提示找不到文件)

cmd /k reg add "HKLMSOFTWAREMicrosoftWindowsCurrentVersionApp Pathswmplayer.exe" /ve /d "%ProgramFiles%Windows Media Playerwmplayer.exe" /t REG_SZ /f

(不能正常调用WMP播放器的修复)

cmd /k reg add "HKLMSOFTWAREMicrosoftWindowsCurrentVersionApp PathsWORDPAD.EXE" /ve /d "%ProgramFiles%Windows NTAccessoriesWORDPAD.EXE" /t REG_SZ /f

(不能正常调用写字板的修复)

cmd /k reg add "HKCUSoftwareMicrosoftWindowsCurrentVersionRun" /v ctfmon.exe /t REG_SZ /d "%SystemRoot%system32ctfmon.exe" /f(开机启动输入法程序CTFMON)

cmd /k reg add "HKCUControlPanelDesktop" /v WaitToKIllAppTimeOut /t REG_SZ /d 10000 /f(加速关闭应用程序)

例如:

REG ADD ABCHKLMSoftwareMyCo

添加远程机器 ABC 上的一个注册表项 HKLMSoftwareMyCo

REG ADD HKLMSoftwareMyCo /v Data /t REG_BINARY /d fe340ead

添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead)

REG ADD HKLMSoftwareMyCo /v MRU /t REG_MULTI_SZ /d faxmail

添加一个值(名称: MRU,类型: REG_MUTLI_SZ,数据: faxmail)

REG ADD HKLMSoftwareMyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^%

添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%)

注意: 在扩充字符串中使用插入符号 ( ^ )

reg add HKLMSystemCurrentControlSetServicesHTTPParameters /v MaxConnections /t REG_DWORD /d 100000

reg add HKLMSYSTEMCurrentControlSetservicesNlaSvcParametersInternet /v EnableActiveProbing /t REG_DWORD /d 1

2,reg delete 从注册表删除项或子项

语法:reg delete KeyName [{/v EntryName|/ve|/va}] [/f]

参数

KeyName

指定子项的完全路径。对于远程计算机,请在ComputerNamePathToSubkey中的子项路径前包含计算机名称。忽略ComputerName会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。

/v EntryName

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

/ve

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

/va

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

/f

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

/?

在命令提示符显示帮助。

注释

下表列出了reg delete操作的返回值。值说明

0成功

1失败

范例

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

cmd /k reg delete "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionstaskmgr.exe" /f(任务栏里的任务管理器为灰色)

cmd /k reg delete "HKLMSOFTWAREMicrosoftShared ToolsMSConfigstartupreg" /f(删除MSConfig启动里的未勾选项目)

cmd /k reg delete "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionsctfmon.exe" /f(删除CTFMON的镜像劫持)

cmd /k reg delete "HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerTrayNotify" /v IconStreams /f

cmd /k reg delete "HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerTrayNotify" /v PastIconsStream /f(删除通知区域的历史记录)

3,reg compare 比较指定的注册表子项或项

语法:reg compare KeyName1 KeyName2 [/v EntryName | /ve] {[/oa]|[/od]|[/os]|[on]} [/s]

参数

KeyName

指定子项的完全路径。对于远程计算机,请在ComputerNamePathToSubkey中的子项路径前包含计算机名称。忽略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 "hkcusoftwaremicrosoftwinmine" "hkcusoftwaremicrosoftwinmine" /od /s

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

语法:reg copy KeyName1 KeyName2 [/s] [/f]

参数

KeyName1

指定要复制子项的完整路径。对于远程计算机,请在ComputerNamePathToSubkey中的子项路径前包含计算机名称。忽略ComputerName会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。如果指定远程计算机,则只可使用HKLM和HKU子目录树。

KeyName2

指定子项目的地的完整路径。对于远程计算机,请在ComputerNamePathToSubkey中的子项路径前包含计算机名称。忽略ComputerName会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。如果指定远程计算机,则只可使用HKLM和HKU子目录树。

/s

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

/f

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

/?

在命令提示符显示帮助。

注释

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

下表列出了reg copy操作的返回值。值说明

0成功

1失败

范例

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

reg copy "hkcusoftwaremicrosoftwinmine" "hkcusoftwaremicrosoftwinminebk" /s /f

reg copy "hkcusoftwaremicrosoftwinminebk" "hkcusoftwaremicrosoftwinmine" /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 "hkcusoftwaremicrosoftwinmine" c:dataregbackupswmbkup.reg

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

语法:reg import FileName

参数

FileName

指定将复制到本地计算机注册表中的文件的名称和路径。必须预先使用reg export命令创建该文件。

/?

在命令提示符显示帮助。

注释

下表列出了reg import操作的返回值。值说明

0成功

1失败

范例

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

reg import hkcusoftwaremicrosoftwinmine" c:dataregbackupswmbkup.reg

7,reg load 将保存的子项和项写回到注册表的不同子项中

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

语法:reg load KeyName FileName

参数

KeyName

指定子项的完全路径。对于远程计算机,请在ComputerNamePathToSubkey中的子项路径前包含计算机名称。忽略ComputerName会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为HKLM

8,reg query 返回注册表的子项下的项和下一层子项的列表

语法:reg query KeyName [{/v EntryName|/ve}] [/s]

参数

KeyName

指定子项的完全路径。对于远程计算机,请在 ComputerNamePathToSubkey 中的子项路径前包含计算机名称。忽略 ComputerName 会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。如果指定远程计算机,则只可使用 HKLM 和 HKU 子目录树。

/v EntryName

返回特定的项及其值。该参数只返回直接位于指定子项的下一层中的项。将会找不到当前子项下的子项中的项。如果省略 EntryName,则将返回子项下的所有项。

/ve

指定仅返回为空值的项。

/s

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

/?

在命令提示符显示帮助。

注释

下表列出了 reg query 操作的返回值。 值 说明

0 成功

1 失败

范例

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

reg query "hklmsystemcurrentcontrolsetcontrolsession manager" /v maxstacktracedepth

reg query "hkcusoftwaremicrosoftwinmine" /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 "hkcusoftwaremicrosoftwinmine" wmbkup.hiv

10,reg save将指定的子项、项和注册表值的副本保存到指定文件中。

语法

reg save KeyName FileName

参数

KeyName

指定子项的完全路径。对于远程计算机,请在 ComputerNamePathToSubkey 中的子项路径前包含计算机名称。忽略 ComputerName 会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。

FileName

指定所创建的文件的名称和路径。如果未指定路径,则使用当前路径。

/?

在命令提示符显示帮助。

注释

下表列出了 reg save 操作的返回值。 值 说明

0 成功

1 失败

范例

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

reg save "hkcusoftwaremicrosoftwinmine" wmbkup.hiv

11,reg unload 使用 reg load 操作删除已加载的部分注册表

语法:reg unload KeyName

参数

KeyName

指定子项的完全路径。对于远程计算机,请在 ComputerNamePathToSubkey 中的子项路径前包含计算机名称。忽略 ComputerName 会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为 HKLM、HKCU、HKCR、HKU 以及 HKCC。

/?

在命令提示符显示帮助。

注释

下表列出了 reg unload 操作的返回值。 值 说明

0 成功

1 失败

范例

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

reg unload "hkcusoftwaremicrosoftwinminebk2"

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新DOS/BAT学习
热门DOS/BAT学习
脚本专栏子分类