首页/系统/Windows 运维速查/reg 注册表命令行操作
CMD 常用命令74 条

reg 注册表命令行操作

命令行读写注册表:query 查看、add 写入、delete 删除、export/import 备份还原,脚本化配置的常用手段。

Windows 运维速查系统更新于 2026-10-13

reg 是什么

reg 把注册表的读写搬到了命令行:query 查值、add 写值、delete 删值、export/import 备份还原,适合写进脚本做无人值守的配置下发。它的价值在于可复现:把「点开注册表编辑器找三次路径」变成一行命令,配置、核对、回滚都有据可查。风险也来自同一个地方——命令行没有确认提示,键名写错一个字符就可能改到别的分支,改前先 export 备份是本工具的基本纪律。

基本信息

适用平台Windows 全版本 CMD / PowerShell 均可调用
查询reg query 键 [/v 值名] [/ve] [/s] [/f 数据] [/reg:32|/reg:64]
写入reg add 键 [/v 值名 | /ve] /t 类型 /d 数据 [/f]
删除/其它reg delete 键 [/v 值名 | /va] [/f];reg copy、reg compare、reg save/restore
备份还原reg export 键 文件.reg [/y];reg import 文件.reg
权限要求HKCU 普通用户可改;HKLM 与 SAM/SECURITY 分支需要管理员

典型使用场景

  • 批量配置下发:统一写入代理、许可证、超时参数等应用配置项
  • 排障取证:读当前生效的值,与文档要求的基线逐项比对
  • 快速开关:临时关闭某功能(如远程桌面、自动更新策略)并记录改动
  • 备份回滚:改动前 export 该键,出问题一条 import 复原
  • 构建与发布:脚本里写入安装参数,避免人工点界面漏项

常用示例

常用示例
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName   # 查单个值
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"                    # 列出该键全部值
reg query "HKLM\SOFTWARE\MyApp" /s                                              # 递归查询子键
reg query "HKLM\SOFTWARE\MyApp" /s /f "timeout" /d                              # 按值名/数据筛选
reg add "HKCU\Software\MyApp" /v Mode /t REG_SZ /d prod /f                       # 写入字符串(/f 覆盖)
reg add "HKLM\SOFTWARE\MyApp" /v Retry /t REG_DWORD /d 3 /f /reg:64              # 明确 64 位视图
reg export "HKLM\SOFTWARE\MyApp" D:\myapp_backup.reg /y                          # 改动前备份
reg delete "HKCU\Software\MyApp" /v Mode /f                                      # 删除值
reg import D:\myapp_backup.reg                                                   # 还原备份

数据类型与视图

项目含义注意
REG_SZ普通字符串最常见;路径中的反斜杠照写
REG_EXPAND_SZ含环境变量的字符串写成 %SystemRoot% 才会在读取时展开
REG_DWORD32 位整数多数开关是 0/1,写字符串会报类型错
REG_MULTI_SZ多行字符串用 /s 指定分隔符时必须成对出现
WOW6432Node32 位程序的注册表映射分支用 /reg:32 或 /reg:64 明确视图,否则易查错位置
32 位程序在 64 位系统上读写的是 HKLM\SOFTWARE\WOW6432Node 分支,路径写法与视图必须对齐;命令行里用 /reg:64 能强制走 64 位视图。
reg import 是把 .reg 文件里的内容写入注册表,同名值会被新数据覆盖,并非整体替换该键:备份里没有、现场存在的值不会被清掉,回滚时要知道这一点。

远程与脚本化写法

远程与脚本化写法
reg query "\\SRV01\HKLM\SOFTWARE\MyApp" /v Mode          # 远程读取(需权限与服务支持)
reg save "HKLM\SOFTWARE\MyApp" D:\myapp.hiv /y             # 保存为 hive 二进制,便于完整还原
reg restore "HKLM\SOFTWARE\MyAppTemp" D:\myapp.hiv        # 还原到指定键(不要直接覆盖在用分支)
REM PowerShell 侧同一件事
REM Get-ItemProperty 'HKLM:\SOFTWARE\MyApp' | Select-Object Mode
不要在生产机上直接对在用分支做 reg restore:它会整体替换键内容。稳妥顺序是先在临时键位置还原、核对无误后再改配置引用,或直接用 export/import。

易错点

  • 改动前不 export:键值写错可能导致软件甚至系统无法启动,且没有任何回滚依据
  • 在 64 位系统上查不到配置:目标其实在 WOW6432Node 分支,需加 /reg:32 或 /reg:64 明确视图
  • REG_SZ 与 REG_EXPAND_SZ 混用:本该展开环境变量却写成 REG_SZ,程序读取到的是字面量 %SystemRoot%
  • 路径含空格与 & 未整体加引号:命令被截断或提前转义,写到错误的键上
  • 用 reg delete ... /va 清空整键时不加确认:全部值一次性删除,需重新配置才能恢复

数据来源与参考

  • Microsoft Learn:reg 命令

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌