使用批处理解决U盘内出现的同名文件夹EXE病毒问题

注意事项:

1.如何使用? - 将代码复制到记事本,另存为bat文件即可使用。

2.使用范围? - 出现了同名文件夹EXE病毒的地方都可以使用,包括计算机磁盘和U盘以及移动硬盘。

3.在哪里运行? - 例如U盘内出现 - 同名文件夹EXE病毒,将上面保存的bat文件直接复制到U盘根目录下运行即可。

4.需要注意什么事项1? - 如果U盘内1目录下有自己的1.exe文件,会被删除,请谨慎使用此批处理。

5.需要注意什么事项2? - 此批处理仅作用于两级目录下的同名文件夹EXE病毒生成文件删除,如需彻底清除病毒,请使用相关杀毒软件。


代码如下:

@echo off

title CleanFileEXEVirus - 14:17 2018-02-12 - OCEANMIX

color 0c

rem 文件夹图标EXE病毒定义:
rem A目录下有以A为名的文件夹图标EXE病毒(即子目录中有以父目录为名的文件夹EXE病毒)

rem 一级目录为计算机,二级目录为计算机磁盘,三级目录为磁盘下目录,文件夹图标病毒一般出现在三级目录下(也就是说病毒是四级文件,并且以父目录(三级目录)为名)

rem bat是三级文件,先获取当前目录下所有三级目录,可考虑导出至文本存储循环读取的三级目录,读取三级目录名,进入每个三级目录,再根据当前进入的三级目录名循环当前进入的三级

目录下所有文件,找到以三级目录名为名的四级EXE病毒文件。



rem RootDirectory(意为根目录),以U盘根目录开始计算(即上面所说的三级目录),我划分三个层次进行区分
rem 根目录为第一层,此处有其他病毒存在,但基本不会出现文件夹图标病毒
rem 根目录下目录为第二层,此处基本会出现文件夹图标病毒,可以完成清理
rem 根目录下目录下目录为第三层,此处有几率出现文件夹图标病毒



rem 获取第一层所有目录(系统属性目录也能获取到)
dir /a:d /b >CleanList.txt

echo 正在清除文件夹图标EXE病毒...(可以完成两层目录下的清理)
echo.

rem 清理第二层(第一次清理)
for /f "tokens=* delims= " %%i in (CleanList.txt) do call :Clean "%%i"

rem 清理第三层(第二次清理)
for /f "tokens=* delims= " %%j in (CleanList.txt) do call :Clean2 "%%j"

del /a /f /q CleanList.txt
echo 请按任意键关闭批处理! & pause>nul

rem 不执行后面的代码直接退出
exit



:Clean2
set var=%1
rem 这里是进入一层目录
rem 正在进入一层目录 %var% ...
cd %var%

rem 获取第二层所有目录
dir /a:d /b >CleanList2.txt

rem 进入二层目录
for /f "tokens=* delims= " %%k in (CleanList2.txt) do call :Clean3 "%%k"
del /a /f /q CleanList2.txt



:Clean3
set var=%1
echo.
echo.
rem 正在进入二层目录 %var% ...
cd %var%
del /a /f /q %var%.exe

rem 返回上一级目录
rem pause
cd..
goto :eof



:Clean
set var=%1
rem 正在进入 %var% 目录...
cd %var%
del /a /f /q %var%.exe

rem 返回上一级目录
rem pause
cd..


你可能感兴趣的:(BAT)