[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[安全相关] 批处理一键删除与上级文件夹同名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盘盘符

声明:以上删除操作,为不可恢复性删除,请慎用,因为使用本程序造成的损失,本人概不负责。

楼上说的不错,我用过下面的方法获取目录名
  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
复制代码
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

如果有个文件夹叫做aaa.exe
它下面就会有个aaa.exe.exe
无法删除^_^
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表