编写注册表文件
新建一个文本文件,在其中输入以下内容:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableRegistryTools"=dword:00000000
注意:“REGEDIT4”这行与后面行之间要有一空行。
REG文件为什么要以“REGEDIT4”开头,而不是“REGEDIT1”或“REGEDIT2”呢?因为这是“规定”。Windows 95/98/ME/NT 4.0等的REG文件开头第一行规定必须是“REGEDIT4”。而Windows 2000/XP则是“Windows Registry Editor Version 5.00”,用以区分所使用的操作系统。从这个REG文件中,我们可以了解REG文件的内容格式:
1、开头第一行一定是:“REGEDIT4”或“Windows Registry Editor Version 5.00”,以区别操作系统;
2、注册表信息头尾用“[”与“]”包起来;
3、” “内就是字符串内容;
4、“DWORD”为“0”就是用“dword:00000000”表示,因为“DWORD”值是16进位,16进位的“0”就是“00000000”。
5、因为本例中只有一行注册表信息([HKEY_CURRENT_USER\Software\Mi…]),所以没有空行。而如果有两个以上的注册表信息,信息与信息之间就需要有空行隔开。
6、如果要删除某个注册表信息该怎么办?很简单,在注册表信息前面加上“-”(减)号。例如,“unlock.reg”我也可以这么写:
Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
只要“-HKEY_CURRENT_USER\Soft…”就可以了,“DisableRegistryTools…”那一行就可以省去不写,为什么?因为这行就是告诉“Regedit”直接去把“System”这个注册表信息删掉,而“DisableRegistryTools”又是在“System”下,头都删了,当然里面的东西也就消失了。
批处理操作
解锁
添加:
cmd /k reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableRegistryTools /t REG_DWORD /d 0 /f
锁定
cmd /k reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableRegistryTools /t REG_DWORD /d 1 /f
/K 执行字符串指定的命令但保留
/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
/d 要分配给添加的注册表 ValueName 的数据
/f 不用提示就强行改写现有注册表项
删除
reg delete hkey_local_machine\software\microsoft\windows\currentVersion\policies\explorer /va /f
reg delete hkey_local_machine\software\microsoft\windows\currentVersion\policies\system /va /f
/ve 删除空白值名称<no name>的值
/va 删除该项下的所有值
/f 不用提示就强行删除
注意:用cmd添加注册表项可前面可省写为hkcu,但是在reg文件中绝对不可以,否则会无效。