Board logo

标题: [注册表类] [已解决]从已知文件名查找注册表并删除该键值的批处理如何提高查找效率? [打印本页]

作者: yue    时间: 2012-1-26 20:47     标题: [已解决]从已知文件名查找注册表并删除该键值的批处理如何提高查找效率?

  1. set vbr=dgs_fsd.sys
  2. for /f %%a in ('reg query "HKEY_LOCAL_MACHINE" /S') do (for /f %%b in ('reg query "%%a"^|find /i "%vbr%"') do (reg delete "%%a" /f))
复制代码
以上我写的代码可以实现,但查找速度效率太低了,哪位大侠有没有更好的办法提高查找速度?
作者: applba    时间: 2012-1-26 23:31

楼主好强大,注册表根键都敢遍历~

把"HKEY_LOCAL_MACHINE"替换成 "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services" 试试~

我只能帮你这么多了~
作者: yue    时间: 2012-1-27 02:09

本帖最后由 yue 于 2012-1-27 02:15 编辑

回复 2# applba


    我要的就是查找整个注册表,呵呵
作者: CrLf    时间: 2012-1-27 09:42

  1. reg query HKCR /f "test" /e /d /s
  2. ::搜索 HKCR 下所有完整键值为 test 的子键
复制代码

作者: qzwqzw    时间: 2012-1-27 11:01

版主提供的方法应该没有问题
可惜在XP/03下Reg query不支持/d /e /f的开关
所以此方法在xp/03下无效

建议楼主没有绝对必要避免使用遍历
而且从另一方面来看
往往总是有比遍历更好的办法解决问题
比如你可以建立一个“文件所在注册表项常见路径表”
通过查表的方式可以解决大部分问题
或者可以跳出注册表从头考虑问题的解决方向
作者: applba    时间: 2012-1-27 11:54

回复 3# yue


    你这是何必呢,驱动都是注册在services下面的,删除了services对应的项目,就无法开机启动了~
作者: yue    时间: 2012-1-27 15:14

回复 5# qzwqzw


    恩,有道理,我要去查查“文件所在注册表项常见路径表”
  谢谢各位
作者: 920168    时间: 2012-1-27 15:53

文件夹超级加密大师??
作者: yue    时间: 2012-1-27 16:03

本帖最后由 yue 于 2012-1-27 16:08 编辑

回复 8# 920168


    是的,我想编个自动卸载恶意加载的驱动的BAT, dgs_fsd.sys 就是用来屏蔽保护某个文件夹的底层驱动,但是装上后就不给卸载了,很邪恶,所以我要编个这样的批处理来自动卸掉这样的恶意软件
作者: 920168    时间: 2012-1-27 16:25

回复 9# yue


流氓软件挺讨厌的!
作者: cjiabing    时间: 2012-1-27 17:31

很好,支持一下~!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2