Board logo

标题: [安全相关] 批处理一键删除与上级文件夹同名exe文件 [打印本页]

作者: youxi01    时间: 2008-11-2 18:57     标题: 批处理一键删除与上级文件夹同名exe文件

前不久,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盘盘符

声明:以上删除操作,为不可恢复性删除,请慎用,因为使用本程序造成的损失,本人概不负责。
作者: Batcher    时间: 2008-11-3 01:05

如果有个文件夹叫做aaa.exe
它下面就会有个aaa.exe.exe
无法删除^_^
作者: zqz0012005    时间: 2008-11-3 01:46

楼上说的不错,我用过下面的方法获取目录名
  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
复制代码





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