批处理是windows下公认的简化工作甚至自动化的官方语言,批处理是多个命令组合起来相互协作批量处理预定工作,所以学批处理就得先一个个命令学,现在开始学习如何在命令行(cmd.exe)中操作注册表。

reg 命令的子命令

Reference content 
在cmd.exe中键入reg /?查询reg命令的用法和相关帮助,发现它原来还有这么多子命令。如法炮制,需要了解哪一条子命令的相关帮助就在子命令后面跟“/?”就行了。

REG Operation [Parameter List]

Operation  [ QUERY   | ADD    | Delete  | COPY    |
               SAVE    | LOAD   | UNLOAD  | RESTORE |
               COMPARE | EXPORT | IMPORT ]

返回代码: (除了 REG COMPARE)

0 - 成功
  1 - 失败

要得到有关某个操作的帮助,请键入:

REG Operation /?

例如:

REG QUERY /?
  REG ADD /?
  REG Delete /?
  REG COPY /?
  REG SAVE /?
  REG RESTORE /?
  REG LOAD /?
  REG UNLOAD /?
  REG COMPARE /?
  REG EXPORT /?
  REG IMPORT /?

REG QUERY 的用法与实例

Reference content 
REG QUERY KeyName [/v [ValueName] | /ve] [/s]
          [/f Data [/k] [/d] [/c] [/e]] [/t Type] [/z] [/se Separator]

KeyName  [\\Machine\]FullKey
           Machine - 远程机器名称,省略当前机器的默认值。在远程机器上
                     只有 HKLM 和 HKU 可用。
           FullKey - 以 ROOTKEY\SubKey 名称形式
                ROOTKEY - [ HKLM | HKCU | HKCR | HKU | HKCC ]
                SubKey  - 在选择的 ROOTKEY 下的注册表项的全名

/v       具体的注册表项值的查询。
           如果省略,会查询该项的所有值。

只有与 /f 开关一起指定的情况下,此开关的参数才是可选的。它指定
           只在值名称中搜索。

/ve      查询默认值或空值名称(默认)。

/s       循环查询所有子项和值(如 dir /s)。

/se      为 REG_MULTI_SZ 在数据字符串中指定分隔符(长度只为 1 个字符)。
           默认分隔符为 "\0"。

/f       指定搜索的数据或模式。
           如果字符串包含空格,请使用双引号。默认为 "*"。

/k       指定只在项名称中搜索。

/d       指定只在数据中搜索。

/c       指定搜索时区分大小写。
           默认搜索为不区分大小写。

/e       指定只返回完全匹配。
           默认是返回所有匹配。

/t       指定注册表值数据类型。
           有效的值是:
             REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ,
             REG_DWORD, REG_BINARY, REG_NONE
           默认为所有类型。

/z       详细: 显示值名称类型的数字等值。

示例:

REG QUERY HKLM\Software\Microsoft\ResKit /v Version
    显示注册表值版本的值

REG QUERY \\ABC\HKLM\Software\Microsoft\ResKit\Nt\Setup /s
    显示远程机器 ABC 上的、在注册表项设置下的所有子项和值

REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /se #
    用 "#" 作为分隔符,显示类型为 REG_MULTI_SZ 的所有值名称的所有
    子项和值。

REG QUERY HKLM /f SYSTEM /t REG_SZ /c /e
    以区分大小写的形式显示项、值和数据和数据类型 REG_SZ
    的、在 HKLM 更目录下的、"SYSTEM" 出现的精确次数

REG QUERY HKCU /f 0F /d /t REG_BINARY
    显示在 HKCU 根目录下、数据类型为 REG_BINARY 的数据的项、值和
    数据的 "0F" 出现的次数。

REG QUERY HKLM\SOFTWARE /ve
    显示在 HKLM\SOFTWARE 下的项、值和数据(默认)

REG ADD 的用法与实例

Reference content

REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]

KeyName  [\\Machine\]FullKey
           Machine  远程机器名 - 忽略默认到当前机器。远程机器上
                    只有 HKLM 和 HKU。
           FullKey  ROOTKEY\SubKey
           ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
           SubKey   所选 ROOTKEY 下注册表项的完整名。

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

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

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

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

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

/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 Delete 的用法与实例

Reference content 
REG Delete KeyName [/v ValueName | /ve | /va] [/f]

KeyName    [\\Machine\]FullKey
    Machine  远程机器名 - 忽略当前机器的默认值。
             远程机器上只有 HKLM 和 HKU。
    FullKey  ROOTKEY\SubKey
    ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey   所选 ROOTKEY 下的注册表项的全名。
  ValueName  所选项下的要删除的值的名称。
             省略时,该项下的所有子项和值都会被删除。

/ve        删除空白值名称的值(默认)。

/va        删除该项下的所有值。

/f         不用提示就强行删除。

例如:

REG Delete HKLM\Software\MyCo\MyApp\Timeout
    删除注册表项 Timeout 及其所有子项和值

REG Delete \\ZODIAC\HKLM\Software\MyCo /v MTU
    删除 ZODIAC 上 MyCo 下的注册表项 MTU

REG COPY 的用法与实例

Reference content 
REG COPY KeyName1 KeyName2 [/s] [/f]

KeyName    [\\Machine\]FullKey
    Machine  远程机器名 - 忽略当前机器的默认值。
             远程机器上只有 HKLM 和 HKU。
    FullKey  ROOTKEY\SubKey
    ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey   所选 ROOTKEY 下的注册表项的全名。
  /s         复制所有子项和值。

/f         不用提示就强行复制。

例如:

REG COPY HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp /s
    将注册表项 MyApp 下的所有子项和值复制到注册表项 SaveMyApp

REG COPY \\ZODIAC\HKLM\Software\MyCo HKLM\Software\MyCo1
    将 ZODIAC 上注册表项 MyCo 下的所有值复制到当前机器上的
    注册表项 MyCo1

REG SAVE 的用法与实例

Reference content 
REG SAVE KeyName FileName [/y]

KeyName    ROOTKEY\SubKey
    ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey   所选 ROOTKEY 下的注册表项的全名。

FileName   要保存的磁盘文件名。如果没有指定路径,文件会在调用进程的
             当前文件夹中得到创建。

/y         不用提示就强行覆盖现有文件。

例如:

REG SAVE HKLM\Software\MyCo\MyApp AppBkUp.hiv
    将配置单元 MyApp 保存到当前文件夹中的文件 AppBkUp.hiv

REG RESTORE 的用法与实例

Reference content 
REG RESTORE KeyName FileName

KeyName    ROOTKEY\SubKey (只是本地机器)
    ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey   要将配置单元文件还原到的注册表项全名。
             覆盖现有项的值和子项。

FileName   要还原的配置单元文件名。
             您必须使用 REG SAVE 来创建这个文件。

例如:

REG RESTORE HKLM\Software\Microsoft\ResKit NTRKBkUp.hiv
    还原文件 NTRKBkUp.hiv,覆盖注册表项 ResKit

REG LOAD 的用法与实例

Reference content 
REG LOAD KeyName FileName

KeyName    ROOTKEY\SubKey (只是本地机器)
    ROOTKEY  [ HKLM | HKU ]
    SubKey   要将配置单元文件加载进的注册表项名称。创建一个新的注册表项。

FileName   要加载的配置单元文件名。
             您必须使用 REG SAVE 来创建这个文件。

例如:

REG LOAD HKLM\TempHive TempHive.hiv
    将文件 TempHive.hiv 加载到注册表项 HKLM\TempHive

REG UNLOAD 的用法与实例

Reference content 
REG UNLOAD KeyName

KeyName    ROOTKEY\SubKey (只是本地机器)
    ROOTKEY  [ HKLM | HKU ]
    SubKey   要卸载的配置单元的注册表项名称。

例如:

REG UNLOAD HKLM\TempHive
    卸载 HKLM 中的配置单元 TempHive

REG COMPARE 的用法与实例

Reference content 
REG COMPARE KeyName1 KeyName2 [/v ValueName | /ve] [Output] [/s]

KeyName    [\\Machine\]FullKey
    Machine  远程机器名 - 省略当前机器的默认值。
             远程机器上只有 HKLM 和 HKU。
    FullKey  ROOTKEY\SubKey
             如果没有指定 FullKey2,FullKey2 则跟 FullKey1 相同。
    ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey   所选 ROOTKEY 下的注册表项的全名。

ValueName  所选注册表项下的要比较的值的名称。
             省略时,该项下的所有值都会得到比较。

/ve        比较空白值名称的值(默认)。

/s         比较所有子项和值。

Output     [/oa | /od | /os | /on]
             省略时,只显示不同的结果。
    /oa      显示所有不同和匹配结果。
    /od      只显示不同的结果。
    /os      只显示匹配结果。
    /on      不显示结果。

返回代码:

0 - 成功,比较的结果相同
  1 - 失败
  2 - 成功,比较的结果不同

注意:
  每一行前面显示的符号定义为:
  = 表示 FullKey1 等于 FullKey2 数据
  < 指的是 FullKey1 数据,与 FullKey2 数据不同
  > 指的是 FullKey2 数据,与 Fullkey1 数据不同

例如:

REG COMPARE HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp
    将注册表项 MyApp 下的所有值跟 SaveMyApp 比较

REG COMPARE HKLM\Software\MyCo HKLM\Software\MyCo1 /v Version
    比较注册表项 MyCo 和 MyCo1 下的值 Version

REG COMPARE \\ZODIAC\HKLM\Software\MyCo \\. /s
    将 ZODIAC 上 HKLM\Software\MyCo 下的所有子项和值和当前机器上
    的相同项比较

REG EXPORT 的用法与实例

Reference content 
REG EXPORT KeyName FileName

Keyname    ROOTKEY[\SubKey] (只是本地机器)。
    ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey   所选 ROOTKEY 下的注册表项的全名。

FileName   要导出的磁盘文件名。

/y       不用提示就强行覆盖现有文件。

例如:

REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg
    将注册表项 MyApp 的所有子项和值导出到文件 AppBkUp.reg

REG IMPORT 的用法与实例

Reference content 
REG IMPORT FileName

FileName  要导入的磁盘文件名(只是本地机器)。

例如:

REG IMPORT AppBkUp.reg
    从文件 AppBkUp.reg 导入注册表项

补充,导入注册表时我们已经习惯于用“regedit filename.reg“了,但是在cmd下无法找到regedit的相关使用参数,我也不知道从哪学的只知道regedit /s 为静默,大概这个参数是windows俗成的了吧,很多命令都有/s,具体含义还是建议查阅帮助,因为每个命令所带参数的含义都不尽相同。

命令行(cmd.exe)中操作注册表相关推荐

  1. 批处理怎么调用计算机名,Reg命令使用详解 批处理操作注册表必备

    只有在别无选择的情况下,才直接编辑注册表.注册表编辑器会忽略标准的安全措施,从而使得这些设置会降低性能.破坏系统,甚至要求用户重新安装Windows.可以利用"控制面板"或&quo ...

  2. 在Delphi程序中操作注册表

    32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创建和释放TRegistry对象 1.创建TRegistry对象.为了操作注册表,要创建一个TRegistry对象: ...

  3. Windows 命令行cmd.exe简单介绍

    介绍: 在windows系统中,Windows命令shell(cmd.exe),在 SystemRoot/System32目录下. 启动命令行,在"开始"-->"搜 ...

  4. 用命令行CMD .bat 相关操作 如: 创建快捷方式 复制文件等

     1,创建快捷方式: 1, download:http://optimumx.com/download/Shortcut.zip or http://files.cnblogs.com/netact/ ...

  5. 命令行cmd基础操作

    找出cmd win +r :出现控制面板,输入cmd,点击确认即可. 命令行cmd的基础操作 (1)d:      切换到d盘 (2)cd d盘下某个文件夹名称 (3)cd 名称\名称\名称    直 ...

  6. 如何用命令行更改计算机用户名,更改注册表值或权限 - Windows Client | Microsoft Docs...

    如何更改命令行或脚本中的注册表值或权限 09/28/2020 本文内容 本文介绍如何从命令行或脚本更改注册表值或权限. 适用于:  Windows 10 - 所有版本,Windows Server 2 ...

  7. 给命令行(cmd)做一个GUI——Process的应用

    命令行我想大家都用过: 今天我打算干的,就是把它弄到WinForm里来..做出来就像这样(动画) 如果你要问这蛋疼的做法有什么意义,看 所以你可以给命令行下的「DOS」程序,穿上一层WinForm的外 ...

  8. 使用DOS命令REG操作注册表

    reg命令是WindowsXP提供的,它可以添加.更改和显示注册表项中的注册表子项信息和值. reg add 将新的子项或项添加到注册表中. 语法:reg add KeyName [/v EntryN ...

  9. 普元 AppServer 7.0 执行startServer.cmd启动,命令行一直启动中,server.log报错:com.primeton.appserver.l7e.exception.Impr

    [问题] AppServer 7.0 JDK1.8.0_251   执行startServer.cmd启动,命令行一直启动中,server.log报错: [2020-06-11T10:21:33.53 ...

最新文章

  1. 【青少年编程】黄羽恒:加减乘除法小测试
  2. ECharts概念学习系列之ECharts是什么?
  3. Jupyter notebook 多行注释 输出注释的文本
  4. 【数据结构与算法】之深入解析“下一个更大元素I”的求解思路与算法示例
  5. echart x轴标签偏移_1文搞懂真正的五轴加工中心,到底说的5轴是哪几个轴
  6. 计算理论入门 1.1 命题逻辑
  7. 信息安全完全参考手册之遵循标准、法规和法律(第三章)
  8. 被“遗弃”的互联网老年人 | 畅言
  9. iOS原生实现二维码拉近放大
  10. java实现验证身份证号是否合法
  11. android 模拟器 电脑配置,手机安卓模拟器多开对电脑配置要求与占用浅谈
  12. 向PDF写入签名日期
  13. layui模板引擎嵌套
  14. Incorrect argument type to variable ‘max_allowed_packet‘解决方法
  15. java 中文星期表示_java之获得中文星期几
  16. ios 设置控制器背景半透明_iOS Modal出半透明控制器
  17. 数字抽奖小程序_抽奖小程序凭什么成为流量的风口?怎么以最快的方式引流?...
  18. 程序员必备画图技能之——流程图
  19. 交易码 MWS X7 会计科目表 XXX 没有在表 T030K 中定义/交易码 VST J2 会计科目表 XXX 没有在表 T030K 中定义
  20. TDOA的matlab仿真

热门文章

  1. 通货膨胀与失业之间的短期权衡取舍 - 异想天开
  2. 基于单片机的5V可调电源系统设计(#0457)
  3. c语言数组越界也太难了吧,跨函数越界啥意思?
  4. 泛函分析笔记05:赋范空间的基本概念
  5. Python制图常用设置
  6. .San(三). Xia(峡).近一个月调度过程图解简介
  7. 李烨_敏捷团队中QA角色的转变
  8. 轻松理解MySQL的MVCC机制
  9. 怎么获取红米Note 4X的Root权限
  10. 安装 Windows Server 2019 VM虚拟机