bat与注册表操作的方法分析

bat(批处理)操作注册表的方法,我知道的应该有两种
1,结合用reg.exe实现读写注册表
2,用bat输出文件,然后regedit /s 1.reg 这样的格式来实现 输出vbs等都是这种


echo cmd.exe /k dir c: > c:windowssystem321.bat
reg add "HKCUSoftwareMicrosoftWindowsCurrentVersionRun" /v "test" /d "c:windowssystem321.bat" /f

命令提示符 
reg /? 
看一下帮助。 

关于reg add 的帮你贴一下,自己看吧 

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

KeyName [Machine]FullKey 
远程机器的机器名 - 忽略默认到当前机器。 
远程机器上只有 HKLM 和 HKU。 
FullKey ROOTKEYSubKey 
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 数据字符串中 
用作分隔符的字符 
如果忽略,则将 "" 用作分隔符 

/d 要分配给添加的注册表 ValueName 的数据 

/f 不用提示就强行改写现有注册表项 

例如: 

REG ADD ABCHKLMSoftwareMyCo 
添加远程机器 ABC 上的一个注册表项 HKLMSoftwareMyCo 

REG ADD HKLMSoftwareMyCo /v Data /t REG_BINARY /d fe340ead 
添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead) 

REG ADD HKLMSoftwareMyCo /v MRU /t REG_MULTI_SZ /d faxmail 
添加一个值(名称: MRU,类型: REG_MUTLI_SZ,数据: faxmail) 

REG ADD HKLMSoftwareMyCo /v Path /t REG_EXPAND_SZ /d %%systemroot%% 
添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%) 
注意: 在扩充字符串中使用双百分比符号( %% )