注册表批量删除的问题
某一天,也可能是做梦时梦到的,就是注册表批量删除,不知道该怎么做,请教大家。比如,注册表中有以下项,
HKEY_CLASSES_ROOT\CLSID\{C41FF872-07B1-4926-819B-8C94E6B1FBB9}\Shell\Open(&O)\Command
HKEY_CLASSES_ROOT\CLSID\{C42EB5A1-0EED-E549-91B0-775852013521}\Shell\Open(&O)\Command
能否用以下这种方式进行表示?然后批量删除?请给出写法,谢谢了,用BAT,VBS都可以。
HKEY_CLASSES_ROOT\CLSID\(.*)\Shell\Open(&O)\Command
--------------------编程问答-------------------- --------------------编程问答-------------------- 编批处理文件,内容
reg delete HKEY_CLASSES_ROOT\CLSID\(.*)\Shell\Open(&O)\Command /f
vb里用shell调用批处理文件运行 --------------------编程问答-------------------- 另一种方法:
删除注册表的键或项还是要通过注册表文件
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\CLSID\(.*)\Shell\Open(&O)\Command]
保存为reg文件双击导如即可删除此项
注意有个“-”号
--------------------编程问答-------------------- 你不分青红皂白,把那些全部删除啊???
用注册表相关的 API ,可以枚举子键。
你还可以对子键名进行判断,决定是否删除它。
据说要有权限才能操作。
用 .bat 文件,恐怕也要权限吧。
--------------------编程问答-------------------- .bat、.vbs都可以搞定。不过,你要删除这些类注册干嘛啊?到时候机子上好大一漂软件都估计找不到注册组件了 --------------------编程问答-------------------- LPZ的方法运行riegedit.exe进行删除简单是简单,但是不够安全和稳定,可能杀毒软件会报警,比较通用的方法是使用WSH对象,更好的方法是使用API。 --------------------编程问答-------------------- 建议使用regvac软件对注册表进行瘦身。 --------------------编程问答--------------------
reg文件比较方便 --------------------编程问答-------------------- 使用WScript.Shell组件或者API,比如:
Set objWsh = CreateObject("WScript.Shell")
objWsh.RegDelete "HKEY_CURRENT_USER\Software\GetIpToMail\" '清理注册表项
Set objWsh = Nothing --------------------编程问答-------------------- --------------------编程问答-------------------- 当然可以,但这个得自己写。咱们不想免费提供了个恶意程序。
补充:VB , 基础类