使用命令行修改注册表中的值
- 使用 reg 命令
reg /? 查看命名
2 . reg add
reg add 增加或修改,没有的就增加,已有的就修改(名称及类型)
reg add 语法:
reg add KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f] [/reg:32 | /reg:64]
kename:类似path;如:reg add HKEY_CURRENT_USER\test
[\Machine]FullKey
Machine : 远程机器名 - 忽略默认到当前机器,远程机器上只有 HKLM 和 HKU (这些事跟目录上的缩写 如: HKL:HKEY_LOCAL_MACHINE)
FullKey : ROOTKey/SubKey
ROOTKey: HKLM | HKCU | HKCR | HKU | HKCC (都是缩写,如下面的 HKEY_CURRENT_USER 的缩写是 HKCU)
SubKey: 所选 ROOTKEY 下注册表项的完整名称 (如: 下面新建的 test2)
例如:新建一个在HKEY_CURRENT_USER 下 test2 ; HKEY_CURRENT_USER 下没有 test2 项就新增一个 test2 项, 如果已有test2 的话 就覆盖
打开注册表,可以看到新建了一个test2的 key
/v : 所选项下套添加的值的名称
/ve 为注册表像添加空白值名称
/t : RegKey 数据类型:
REG_SZ
REG_MULTI_SZ
REG_EXPAND_SZ
REG_DWORD
REG_QWORD
REG_BINARY
REG_NONE
/s : 指定一个在 REG_MULTI_SZ 数据字符串中用作分隔符的字符,日过忽略,则将 “/0” 作为分隔符
/d : 要分配给添加的注册表 ValueName 的数据
/f : 不用提示就强行覆盖现有注册表项
/reg:32 : 指定应该使用 32 位注册表视图访问的注册表项
/reg:64 : 指定应该使用 64 位注册表视图访问的注册表项
如: 在 test2 中添加 REG_DWORD 类型的数据
在test2 下会新增一个 Hello
同时可以看到 /d 1 对应的是数值数据 ,REG_DWORD 对应的 0/1
如果修改的话也是使用add 有数据就覆盖,将Hello 修改为0
修改结果如下
修改时不想有提示的话加一个 /f
这时执行命令就没有提示了
注意有些情况下明明命令没有错,却会报错这时的解决办法就是 KeyName路径还有 ValueName 都加引号,其原因是在KeyName中存在空格式需要添加引号,如: