楼 主
[已解决]批处理删除硬盘上所有同名特定文件病毒
发表于 2006-09-20 07:26 · 中国 湖北 武汉 电信
中级用户
★★
积分 245 发帖 103 注册 2006-06-30 00:00 UID 57801 性别 男
状态 离线
各位好!
偶的机子是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 ]
第 2 楼
发表于 2006-09-20 07:30 · 中国 湖北 武汉 电信
中级用户
★★
积分 245 发帖 103 注册 2006-06-30 00:00 UID 57801 性别 男
状态 离线
虽然WINDWOS下的FIND查找功能或许可以实现同类功能,但偶是诚心求教批处理的语法并学习,请各位不吝赐教------
第 3 楼
发表于 2006-09-20 07:43 · 中国 广东 佛山 广东睿江科技有限公司
荣誉版主
★★★★
batch fan
积分 5,226 发帖 1,737 注册 2006-03-10 00:38 UID 51697 来自 成都
状态 离线
以下代码可以在全盘删除所有文件夹下的_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
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
第 4 楼
发表于 2006-09-20 08:05 · 中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493 发帖 2,672 注册 2005-09-02 00:00 UID 42173 性别 男
状态 离线
Namejm的代码太强悍了,都fsutil fsinfo drivetype !drive!|find "固定",呵呵
C:\> BLOG http://initiative.yo2.cn/
C:\> hh.exe ntcmds.chm::/ntcmds.htm
C:\> cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll /10/5432'>"
第 5 楼
发表于 2006-09-20 08:06 · 中国 广东 佛山 广东睿江科技有限公司
荣誉版主
★★★★
batch fan
积分 5,226 发帖 1,737 注册 2006-03-10 00:38 UID 51697 来自 成都
状态 离线
抄袭某个毒王的代码,呵呵。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
第 6 楼
发表于 2006-09-20 08:09 · 中国 湖南 娄底 新化县 电信
银牌会员
★★★
积分 1,218 发帖 485 注册 2006-07-21 21:24 UID 58987 来自 湖南.娄底
状态 离线
强!!! 先列出所有硬盘盘符, 再删指定文件.
[ Last edited by pengfei on 2006-10-14 at 09:30 ]
业精于勤而荒于嬉,形成于思而毁于随。
第 7 楼
发表于 2006-09-20 08:14 · 中国 广东 广州 电信
中级用户
★★
积分 259 发帖 112 注册 2006-09-18 04:55 UID 62928 性别 男
状态 离线
第 8 楼
发表于 2006-09-20 08:29 · 中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493 发帖 2,672 注册 2005-09-02 00:00 UID 42173 性别 男
状态 离线
提示下:个人经验认为:没有纯文件病毒。一般都还感染注册表的
C:\> BLOG http://initiative.yo2.cn/
C:\> hh.exe ntcmds.chm::/ntcmds.htm
C:\> cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll /10/5432'>"
第 9 楼
发表于 2006-09-20 09:50 · 中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493 发帖 2,315 注册 2006-05-01 10:41 UID 54766 性别 男 来自 上海
状态 离线
恩病毒不感染注册表也不成病毒了。楼主的此类病毒一般是靠光盘U盘传播的,所以组策略里关闭自动播放相当重要的!
第 10 楼
发表于 2006-09-20 20:20 · 中国 湖北 武汉 电信
中级用户
★★
积分 245 发帖 103 注册 2006-06-30 00:00 UID 57801 性别 男
状态 离线
已经解决了!!!
1、首先在这里真诚感谢namejm! 是你的代码和帮助让偶成功实现杀毒和学习语法。
2、同时也感谢所有看贴和回贴指教的大大以及DOS联盟的会员!
3、to electronixtar :偶已经恢复系统了,所以系统盘的注册表不存在这类感染问题,谢谢你的提醒。
to fastslz : 偶已经在组策略里禁止了autorun,谢谢你!在偶初来论坛的时候,就有你和electronixtar及BagPipe等高手的帮助,谢谢你们!
第 11 楼
发表于 2006-09-22 00:53 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013 发帖 718 注册 2006-02-18 07:07 UID 50550
状态 离线
wmic datafile where "filename='desktop' and Extension='ini'" call delete /NOINTERACTIVE
第 12 楼
发表于 2006-09-22 00:58 · 中国 广东 佛山 广东睿江科技有限公司
荣誉版主
★★★★
batch fan
积分 5,226 发帖 1,737 注册 2006-03-10 00:38 UID 51697 来自 成都
状态 离线
3742668版主一句话就搞定了,厉害。什么时候能给我们讲解一下wmic的用法就好了。
顺便指出一下版主的疏忽之处:楼主需要把_desktop.ini删掉,而不是desktop.ini,呵呵,一个符号的差异。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
第 13 楼
发表于 2006-09-22 01:35 · 中国 湖南 娄底 新化县 电信
银牌会员
★★★
积分 1,218 发帖 485 注册 2006-07-21 21:24 UID 58987 来自 湖南.娄底
状态 离线
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 ]
业精于勤而荒于嬉,形成于思而毁于随。
第 14 楼
发表于 2006-09-22 05:10 · 中国 广西 梧州 电信
初级用户
★
积分 22 发帖 11 注册 2006-05-11 11:29 UID 55321
状态 离线
为什么不在盘符下 del /s/a _desktop.ini ? del /?
第 15 楼
发表于 2006-09-22 07:31 · 中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103 发帖 1,744 注册 2006-01-20 13:00 UID 49241 性别 男 来自 甘肃.临泽
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正