使用命令行修改注册表中的值
使用 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中存在空格式需要添加引号,如: