找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23160|回复: 2

[安全相关] 批处理一键删除与上级文件夹同名exe文件

[复制链接]
发表于 2008-11-2 18:57:43 | 显示全部楼层 |阅读模式
前不久,U盘中毒。病毒文件在U盘中的每个文件夹底下都建立了同名exe文件。
如:在“选修3”文件夹下会存在一个“选修3.exe”的exe文件,该文件为病毒文件的副本,它是靠借助用户的误电击达到传播的目的。一个一个文件的去删除是不可能的了,于是就动手写了这个小工具,删除某目录下所有的同名文件,包括子目录下的同名文件(注意:正常exe文件名不要和它的上级文件夹相同;没在除错和安全性上考虑)。

源代码如下:
  1. @echo off
  2. echo 正在清除病毒文件,请稍等...&echo.
  3. for /f "delims=" %%i in ('dir /b /s /ad "H:"') do (
  4.   echo 正在清理:  %%i\%%~ni.exe
  5.   echo del "%%i\%%~ni.exe")
  6. echo.&echo 清除完毕!&echo.
  7. pause>nul
复制代码
使用说明:1、双击运行,看提示结果是否是你需要的,如果是,请将源代码中"echo del "%%i\%%~ni.exe")"中的echo删除即可。
2、代码中的"H:\"是你的U盘盘符

声明:以上删除操作,为不可恢复性删除,请慎用,因为使用本程序造成的损失,本人概不负责。
发表于 2008-11-3 01:05:15 | 显示全部楼层
如果有个文件夹叫做aaa.exe
它下面就会有个aaa.exe.exe
无法删除^_^
发表于 2008-11-3 01:46:35 | 显示全部楼层
楼上说的不错,我用过下面的方法获取目录名
  1. call :GetFolderName "%%~dpi"
  2. ...
  3. :GetFolderName
  4. set FolderName=%~1
  5. set FolderName=%FolderName:~,-1%
  6. set tempName=%FolderName:*\=%
  7. if /i "%FolderName%" neq "%tempName%" call :GetFolderName "%tempName%"
  8. goto :eof
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:24 , Processed in 0.030532 second(s), 11 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表