Board logo

标题: [已解决]批处理删除硬盘上所有同名特定文件病毒 [打印本页]

作者: flying008     时间: 2006-9-20 07:26    标题: [已解决]批处理删除硬盘上所有同名特定文件病毒

各位好!
   偶的机子是XP,有CDEFGH几个盘,现在由于机子中了毒,格式化C盘后重新安装了系统,但其它盘的各个子目录和子文件夹下均有_desktop.ini文件(这是个病毒),文件本身具有《隐藏,只读,系统》属性,直接删除不掉,偶不可能一个个的在命令行模式下手动删除,所以请教如何写个批处理来通杀掉硬盘上的所有这个_desktop.ini    (偶这里要请教的是批处理的语法,专杀病毒工具软件不在讨论之列,  另外请版主不要删贴,因为偶已经搜索了相关贴子,均不能彻底解决这个问题,所以才发新贴请教,请原谅!)
@echo off
for %%i  ('_desktop.ini') ---------   do attrib -r -a -h -s _desktop.ini & del _desktop.ini
pause
exit

思路是先查找硬盘上所有分区子目录下的各个文件夹内的_desktop.ini文件,找到后用ATTRIB来改变它们的属性,紧接着用DEL删除掉这个文件,这样在硬盘上就不会再有这个病毒了,请各位赐教---------谢谢!
值得注意的是路径中肯定会有中文路径或带有空格的路径的,诚候指教-------
另外想问的是,如果系统是WIN2000,这个批处理是否同样适用?


[ Last edited by flying008 on 2006-9-20 at 20:27 ]
作者: flying008     时间: 2006-9-20 07:30
虽然WINDWOS下的FIND查找功能或许可以实现同类功能,但偶是诚心求教批处理的语法并学习,请各位不吝赐教------
作者: namejm     时间: 2006-9-20 07:43
  以下代码可以在全盘删除所有文件夹下的_desktop.ini,而不管它具备何种属性。
@echo off
setlocal enabledelayedexpansion
for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
    set var=%%i
    set drive=!var:~-2!
    fsutil fsinfo drivetype !drive!|find "固定">nul && del /a /f /s !drive!\_desktop.ini
)
pause

作者: electronixtar     时间: 2006-9-20 08:05
Namejm的代码太强悍了,都fsutil fsinfo drivetype !drive!|find "固定",呵呵
作者: namejm     时间: 2006-9-20 08:06
  抄袭某个毒王的代码,呵呵。
作者: pengfei     时间: 2006-9-20 08:09
强!!! 先列出所有硬盘盘符, 再删指定文件.

[ Last edited by pengfei on 2006-10-14 at 09:30 ]
作者: kennyfan     时间: 2006-9-20 08:14
用这寸代码搞搞其他文件也不错哦!呵呵!
作者: electronixtar     时间: 2006-9-20 08:29
提示下:个人经验认为:没有纯文件病毒。一般都还感染注册表的
作者: fastslz     时间: 2006-9-20 09:50
恩病毒不感染注册表也不成病毒了。楼主的此类病毒一般是靠光盘U盘传播的,所以组策略里关闭自动播放相当重要的!
作者: flying008     时间: 2006-9-20 20:20
已经解决了!!!
1、首先在这里真诚感谢namejm! 是你的代码和帮助让偶成功实现杀毒和学习语法。
2、同时也感谢所有看贴和回贴指教的大大以及DOS联盟的会员!
3、to electronixtar :偶已经恢复系统了,所以系统盘的注册表不存在这类感染问题,谢谢你的提醒。
 to fastslz : 偶已经在组策略里禁止了autorun,谢谢你!在偶初来论坛的时候,就有你和electronixtar及BagPipe等高手的帮助,谢谢你们! 
作者: 3742668     时间: 2006-9-22 00:53

wmic datafile where "filename='desktop' and Extension='ini'" call delete /NOINTERACTIVE

作者: namejm     时间: 2006-9-22 00:58
  3742668版主一句话就搞定了,厉害。什么时候能给我们讲解一下wmic的用法就好了。

  顺便指出一下版主的疏忽之处:楼主需要把_desktop.ini删掉,而不是desktop.ini,呵呵,一个符号的差异。
作者: pengfei     时间: 2006-9-22 01:35
3742668版主和namejm兄的代码太强悍了, 怎么也看不懂, 呵呵~ 向你们学习.

我就贴一段大家都看的懂的代码吧! 也是全盘强制删除_desktop.ini文件:

@echo off
if exist "%tmp%\note.txt" del /a "%tmp%\note.txt" >nul 2>nul
set num=0
setlocal enabledelayedexpansion
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
    if exist %%i: (
        cd\
        for /f "tokens=*" %%a in ('dir /s /a-d /b %%i:\_desktop.ini') do (
            echo %%a>>"%tmp%\note.txt"
            set /a num=!num!+1
            del /q /a /f "%%a"
        )
    )
)
cls
echo 共删除文件: %num%个
pause
if not "%num%"=="0" start "" "%tmp%\note.txt"

[ Last edited by pengfei on 2006-9-23 at 08:27 ]
作者: bosskof     时间: 2006-9-22 05:10
为什么不在盘符下 del /s/a _desktop.ini ?  del /?
作者: vkill     时间: 2006-9-22 07:31
wmic 还没有用过
作者: pengfei     时间: 2006-9-22 09:40


  Quote:
Originally posted by bosskof at 2006-9-22 05:10:
为什么不在盘符下 del /s/a _desktop.ini ?  del /?

的确, 比起先查找后删除简单得多!
作者: namejm     时间: 2006-9-22 09:49
  虽然可以在每个盘符下执行del语句,但是这样做就丧失了批处理自动批量处理问题的优点。
作者: JonePeng     时间: 2006-9-22 10:55
我的机子也中了这种可恶的病毒,其实 _desktop.ini 是文本文件,不可能是病毒的根源,无论用何种技巧删掉 _desktop.ini ,也不能斩草除根,真正的病毒根源在于 %windir%\rundl132.exe、Logo1_.exe、dll.dll,以及被感染的 Office 程序文件、QQ、Maxthon、千千静听、RealPlayer等,只要运行这些被感染的软件,病毒又再自我复制 _desktop.ini…… 以下是摘自网上的手工清除方法:

  Quote:
  ①结束logo1_.exel和rundl132.exe进程,删除%WinDir%的logo1_.exel和rundl132.exe;

  ②查找注册表键值:[HKEY_LOCAL_MACHINE\Software\Soft\DownloadWWW]将其删除;

  ③查找注册表键值rundl132.exe将其删除;

  ④重启电脑,不要运行任何程序,删除C盘内的logo1_.exe、dll.dll和rundl132.exe文件;

  ⑤将被感染的QQ、Office系列、千千静听、RealPlayer等卸载或直接删除后,重新安装;

  ⑥安装上述软件时请确保安装程序无毒。本人在重新安装Office时,发现硬盘里备份的Office安装程序也被感染上病毒,只好重新找了张没有病毒的Office安装光盘安装。

  ⑦在安装程序时,随时打开注册表编辑器,查看[HKEY_LOCAL_MACHINE\Software\Soft\DownloadWWW是否又重新生成,以判断还有什么应用程序被感染了。

  ⑧将怀疑被感染的程序重新安装后,运行QQ、Office系列、千千静听、RealPlayer,查看C盘内有无logo1_.exe、dll.dll和rundl132.exe文件。如无,说明已经成功清除。如有,说明还有某个未知的感染程序存在,有时间的话,最好还是将所有磁盘重新格式化后再安装系统和应用软件。

在此我补充一下,该病毒发作时还有一个特征:exe 程序被感染后,该 exe 的图标就会变花(如 ttplayer.exe),或者原本的真彩色图标变成16色图标(如 QQ.exe)。所以如果在“我的电脑”里看到某些exe图标突然有这种变化,很可能是中毒了。

作者: xg911335     时间: 2006-9-22 11:50
for %%i (c d e f g h i j k l m n) do del /ash /s/q %%i:\_desktop.ini
作者: jieok3375     时间: 2006-10-9 00:48
唉~我的电脑也中了这个病毒,开始还以为是系统文件!
后来吧就发现打印机会自己打印,且打印的每张纸上只有
最上的有一行日期,其它什么都没有,浪费纸,我找不出
原因,就把系统GHOST了,但其它盘还是有_desktop.ini
这个文件…………
长见识了。
作者: qcqtye     时间: 2006-10-14 07:46
版主的代码和一句精简的代码我这里测试不行啊!pengfei
的可以删除.通过
作者: namejm     时间: 2006-10-14 08:25
  fsutil 命令必须以管理员权限运行。
作者: 不得不爱     时间: 2006-10-14 09:22

for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do del /a /s /f /s/q %%i:\_desktop.ini
[ Last edited by qwe1234567 on 2006-10-14 at 10:19 ]
作者: 不得不爱     时间: 2006-10-14 09:38
fsutil 命令在2000里没有
作者: lxmxn     时间: 2006-10-14 10:09


  Quote:
Originally posted by qwe1234567 at 2006-10-14 09:22:
for %%i (c d e f g h i j k l m n o p q r s t u v w x y z) do del /a /s /f /s/q %%i:\_desktop.ini


  qwe1234567版主的这个for命令好像掉了一个in吧??

作者: 不得不爱     时间: 2006-10-14 10:20
是少了个IN,现在补上了
作者: sanhu35     时间: 2006-10-25 11:08
上面2个批处理,每个我都只看懂1点点
哎...强悍哦
作者: regvip2008     时间: 2008-3-5 12:42


  Quote:
Originally posted by 3742668 at 2006-9-22 12:53 AM:
wmic datafile where "filename='desktop' and Extension='ini'" call delete /NOINTERACTIVE

版主的代码确实是相当的精悍,但是我有个疑问就是,为什么好像在有的电脑上面可以,但有的电脑上面就提示“无可以范例呢”?都是xp sp2的系统,且确实是有文件存在的!
还望高手指点一二?