bat 写注册表详解

来源:清泛原创     2016-04-07 12:17:54    人气:     我有话说( 0 人参与)

清泛网(www.tsingfun.com):实例:reg add "HKCU Software Microsoft Windows CurrentVersion Run" v "test" d "c: windows system32 regedit" f命令提示符...

实例:

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

命令提示符  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_ENDIAN | REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN | REG_NONE | 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%)

 

用INF 脚本修改注册表。同样先举一个例子,然后做详细讲解。

[VERSION]
SIGNATURE=$CHICAGO$
[DEFAULTINSTALL]
ADDREG=MY.ADD.REG
DELREG=MY.DEL.REG

[MY.ADD.REG]
HKLM,SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\WINLOGON,AUTOADMINLOGON,0,"0"
HKCU,CONTROL PANELDESKTOP,SMOOTHSCROLL,1,01,00,00,00
HKCU,CONTROL PANELDESKTOP,SCREENSAVEUSEPASSWORD,1,00,00,00,00

[MY.DEL.REG]
HKCU,MYKEY
HKLM,SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\WINLOGON,DEFAULTUSERNAME
HKLM,SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\WINLOGON,DEFAULTUSERNAME

1、[VERSION] 是文件头。SIGNATURE=$CHICAGO$ 是指针对WINDOWS,CHICAGO是WINDOWS95的内部名称,要编辑注册表必须以这两句开头。 

2、[DEFAULTINSTALL]段指出INF文件包含的其他段,ADDREG 和DELREG是键,有特殊意义。他指出要添加或删除的注册表项段名。

3、WINDOWS98总是先处理DELREG段,后处理ADDREG段,这可能会对我们的应用有所帮助。

[MY.ADD.REG]
HKCU,MYKEY,MYVALUE,0,"STRING" 添加名为MYVALUE的字符串值项到键MYKEY下其值设为STRING
HKCU,MYKEY,MYVALUE,,STRING 添加名为MYVALUE的字符串值项到MYKEY,将其值设为STRING
HKCU,MYKEY,MYVALUE,1,77,34,05,20 添加名为MYVALUE的二进制值项到键MYKEY下,其值设为二进制值77,34,05,20
HKCU,MYKEY,0,"DEFAULT VALUE" 设置键MYKEY的缺省值项为字符串DEFAULT VALUE
HKCU,MYKEY,,"DEFAULT VALUE" 设置键MYKEY的缺省值项并将其值设为字符串DEFAULT VALUE 
HKCU,MYKEY 添加注册表键MYKEY但不设置其值

[MY.DEL.REG]
HKCU,MYKEY,MYVALUE 从键MYKEY 中删除值项MYVALUE
HKCU,MYKEY 删除键MYKEY及其全部子键,即删除全部分支

下面是一个自动清除MRU记录的INF文件:CLEAN.INF

[VERSION]
SIGNATURE=$CHICAGO$

[DEFAULTINSTALL]
DELREG=DELTEGKEY

[DELREGKEY]
HKCU, SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\DOC FIND SPEC MRU, 
HKCU, SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\FINDCOMPUTERMRU, 
HKCU, SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\RECENTDOCS, 
HKCU, SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\RUNMRU

清除MRU和WINDOWSRENCENT 的批处理文件:CLEAN.BAT

@ECHO OFF

C:\WINDOWS\RUNDLL.EXE SETUPX.DLL,INSTALLHINFSECTION DEFAULTINSTALL 132 CLEAN.INF

ECHOY ERASE C:\WINDOWS\RECENT

注意:在扩充字符串中使用双百分比符号( %% )各位可将CLEAN.BAT 加入HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSIONRUN中让电脑自动在启动时完成任务。

bat 注册表

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)