Board logo

标题: [注册表类] 【原创】reg命令-全方位解剖-用法大合集 [打印本页]

作者: 小程936    时间: 2016-6-17 10:04     标题: 【原创】reg命令-全方位解剖-用法大合集

本帖最后由 小程936 于 2019-1-1 16:41 编辑

作者:小程936,转载请注明出处。(楼主原创)
项,即注册表里的文件夹;值,即文件名;数据,即文件内容;类型,即文件类型

reg命令并不一定需要管理员权限。某些项读取/修改都不需要权限,某些项修改需要权限,某些项读取/修改都需要权限。
A|B表示单选  [A]表示可选  {A}也表示可选  这些括号并不是参数的一部分,使用时切勿连带这些括号输入

  REG QUERY    查询
  REG ADD      添加/修改
  REG DELETE     删除
  REG COPY        复制
  REG COMPARE  比较
  REG SAVE      -导出hiv
  REG RESTORE -导入hiv
  REG LOAD      -加载hiv
  REG UNLOAD -卸载hiv
  REG EXPORT  -导出reg
  REG IMPORT  -导入reg

  REG FLAGS   --兼容

常用参数举例。
  项           [\\网络地址\]注册表路径,其中首位可简写为HKLM|HKCU|HKCR|HKU|HKCC。对于网络地址只有HKLM和HKU可用
  类型        REG_SZ,REG_MULTI_SZ,REG_EXPAND_SZ,REG_DWORD,REG_QWORD,REG_BINARY,REG_NONE,一共七种
  /reg:32|64  读取特定位数的注册表
  /y          免确认(几乎就是必选项,谁也不喜欢确认)
  文件名     可使用相对路径。仅限于hiv或reg格式的注册表备份文件,只能用于本地机器。



查询注册表
REG QUERY "项" [/V "值"]|[[选项] /f "目标"] {/s} [/t 类型] [/z] [/Se 分隔符] [/reg:32|64]

  /v "值"  搜索注册表值(完全匹配),可用/ve表示空值

  [选项] /f "目标"   搜索模式。选项为 /k只搜索项,/v只搜索值,/d只搜索数据,/c启用区分大小写,/e完全匹配。默认选项为/k /v /d
  /s       搜索子项
  /t 类型  搜索类型。

  /z       显示详细类型
  /se      为REG_MULTI_SZ指定分隔符,默认为\0

示例 REG QUERY HKLM\Software\Microsoft
    显示HKLM\Software\Microsoft项下的所有值和项
     REG QUERY "HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion\ProfileList" /e /v /f ProfileImagePath /s
     在 所选项及子项中的所有值 中完整匹配搜索ProfileImagePath



添加/修改注册表
REG ADD "项" [/V "值" /t 类型 [/s 分隔符] /d "数据" [/f]] [/reg:32|64]

  /v "值"   值名称,可用/ve表示空值
  /t 类型   类型,可为REG_SZ,REG_MULTI_SZ,REG_EXPAND_SZ,REG_DWORD,REG_QWORD,REG_BINARY,REG_NONE,一共七种
  /d "数据" 数据。
  /f        修改免确认(几乎就是必选项,谁也不喜欢确认)

  /s        为REG_MULTI_SZ指定分隔符,默认为\0

示例 REG ADD HKLM\Software\MyCo
    添加注册表项 HKLM\Software\MyCo
     REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^% /f
    添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%),免确认



删除注册表
REG DELETE "项" [/V "值"] [/f] [/reg:32|64]

  /v "值"   值名称,可用/ve表示空值,用/va表示所有值
  /f        删除免确认(几乎就是必选项,谁也不喜欢确认)

示例 REG DELETE HKLM\Software\MyCo\MyApp\Timeout
    删除项 Timeout 及其所有子项和值
     REG DELETE HKLM\Software\MyCo /v MTU /f
    删除指定项下的注册表值MTU,免确认。



复制注册表
REG COPY "项1" "项2" {/s} [/f] [/reg:32|64]

  /s         复制所有子项和值。默认为 只复制项1下的值(不含子项)
  /f         复制免确认(几乎就是必选项,谁也不喜欢确认)

示例 REG COPY HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp /f
    将 项1下的所有值(不含子项) 复制到 项2,免确认



比较注册表
REG COMPARE "项1" "项2" [/v "值"] {/s} [/oa|/od|/os|/on]  [/reg:32|64]

  /v "值"  比较指定值,可用/ve表示空值。默认此项下的所有值(不含子项)都会进行比较。
  /s       比较所有子项和值。

  /oa显示所有,/od显示不同,/os显示匹配,/on不显示。默认显示不同

返回代码:0相同1失败2不同,=项1与项2相同 <项1与项2不同 >项2与项1不同

示例 REG COMPARE HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp
    比较 项1 与 项2(不含子项)
     REG COMPARE HKLM\Software\MyCo HKLM\Software\MyCo1 /v Version /os
    比较 项1 与 项2 下的值Version,只显示匹配



导出hiv(只能用于本地机器)
REG SAVE "项" "文件名" [/y] [/reg:32|64]
导入hiv(只能用于本地机器)
REG RESTORE "项" "文件名" [/reg:32|64]

  /y      覆盖文件免确认(几乎就是必选项,谁也不喜欢确认)

示例 REG SAVE HKLM\Software\MyCo\MyApp AppBkUp.hiv /f
    将所选项保存到当前文件夹,文件名AppBkUp.hiv,覆盖文件免确认
     REG RESTORE HKLM\Software\Microsoft\ResKit NTRKBkUp.hiv
    还原文件 NTRKBkUp.hiv,覆盖注册表项 ResKit



加载hiv(只能用于本地机器中的 HKLM|HKU)
REG LOAD "项" "文件名" [/reg:32|64]
卸载hiv(只能用于本地机器中的 HKLM|HKU)
REG UNLOAD "项"

示例 REG LOAD HKLM\TempHive TempHive.hiv
    将文件 TempHive.hiv 加载到注册表项 HKLM\TempHive
     REG UNLOAD HKLM\TempHive
    卸载 HKLM 中的配置单元 TempHive



导出reg(只能用于本地机器)
REG EXPORT "项" "文件名" [/y] [/reg:32|64]
导入reg(只能用于本地机器)
REG IMPORT "文件名" [/reg:32|64]

  /y  覆盖文件免确认(几乎就是必选项,谁也不喜欢确认)

示例 REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg
   将所选项的所有子项和值导出到文件 AppBkUp.reg
     REG IMPORT AppBkUp.reg
   从文件 AppBkUp.reg 导入注册表项
   还可用regedit /s "文件名" 命令导入注册表



兼容性设置 UAC兼容控制(仅限本机HKLM\Software项下)
设置仅对以 "兼容模式 XP或更早版本系统" 且不以 管理员权限运行 的程序生效
而大多数这类老旧程序如果不用管理员模式运行肯定崩溃,本功能何用?
XP的时候并没有UAC设置,本设置是为了兼容创造出来的,然而没啥用,鸡肋功能
REG FLAGS "HKLM\Software\项" [QUERY]|[选项] {/s} [/reg:32|64]

  QUERY   查看权限,无此参数也能查看权限,加不加一样,无用参数。
  /s      搜索子项

  选项    SET [DONT_VIRTUALIZE] [DONT_SILENT_FAIL] [RECURSE_FLAG]           
    DONT_VIRTUALIZE 提供真实注册表让你修改(默认为转到虚拟注册表,位置 HKCU\Software\Classes\VirtualStore)
    DONT_SILENT_FAIL 不提示失败(权限不足)
    RECURSE_FLAG 该项内新建的子项会继承该项的权限(默认新建的三项都为CLEAR)
          包含的参数会被设置为SET,不包含的参数会被设置为CLEAR,默认三项都为CLEAR。
          当上述老旧程序尝试修改注册表指定项时,按照本设置提升权限。(普通用户在HKLM\Software目录的权限是只读)

示例 REG FLAGS HKLM\Software\MyCo\MyApp
    查看所选项的兼容性设置。(加不加QUERY都一样)
     REG FLAGS HKLM\Software\MyCo\MyApp SET DONT_VIRTUALIZE DONT_SILENT_FAIL /s
    设置 所选项及其所有子项 上的 DONT_VIRTUALIZE和DONT_SILENT_FAIL为SET,RECURSE_FLAG为CLEAR



结束----------------------------欢迎点这儿的评分按钮↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
作者: 小程936    时间: 2016-6-17 21:16

本帖最后由 小程936 于 2019-1-1 16:40 编辑

[/s]会被论坛当成标签名自动隐藏,改用{/s},均表示可选
(^_^)




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2