酷IT酷IT

做一个安静的技术网站!

批处理修改注册表

命令格式:

reg add 注册表路径 /v 值名 /t 要修改的数值类型 /d 想要输入的数据 /f(这个选项可根据情况自行添加,意为不用提示就强行改写现有注册表项)

如果在批处理中不想显示出命令执行过程可以再reg前面加入@,后面加上>nul,不用加空格,紧贴命令前后。

 例子:

@reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "test" /t REG_DWORD /d "c:\windows\system32\regedit" /f>nul

 

命令提示符
reg /?
看一下帮助。
 系统关于reg add 的用法的解释帮你贴一下,自己看吧


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

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

/v 所选项之下要添加或修改的值名

/ve 为注册表项添加空白值名<无名称>

/t RegKey 数据类型
[ REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIANREG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN |
 REG_NONE | REG_EXPAND_SZ ]

        reg_sz (字符串)
  reg_multi_sz  ()
  reg_dword_big_endian (一个dword值)
  reg_dword  (十六进制值dword、32 位数字 )
  reg_binary     (任意格式的二进制数据 )
  reg_dword_little_endian  (4字节dword值)
  reg_link   ()
  reg_full_resource_descriptor ()
  reg_expand_sz  ()

              官方文档说明


如果忽略,则采用 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%)


注意: 在扩充字符串中使用双百分比符号( %% )
比如现在
HKEY_LOCAL_MACHINE\SOFTWARE\03D0C547-EBAD-43d9-8B57-DE16E7A93B52
这个项下面有个值的名称叫做AutoStart,数据是十六进制的2,我要把它改为1,那就这样:

reg add HKLM\SOFTWARE\03D0C547-EBAD-43d9-8B57-DE16E7A93B52 /v AutoStart /t REG_DWORD /d 1 /f

 

注意:

1、如果路径中有空格或者data中,则需要用""括起来。

2、每个命令提示符中之间,比如/v /t /d,与前面的字符串间需要加空格。

 

调试时,可以用管理员权限打开CMD,让后调用非C盘下的BAT即可。这样可以看到输出结果。

下一篇: Win7激活码

相关文章

评论列表

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。