学校病毒横行:隐藏正常文件夹,同时还生成与文件夹同名的exe文件,给教学工作带来了非常多的不便。
鉴于此,作此批处理,逆病毒而行,名曰“清道夫”,代码初步完成功能,有待进一步完善,欢迎各位提出意见建议!- @echo off
- mode con lines=22 cols=65
- Title U盘清道夫
- color 1f
- set /a Snum=0
- Rem '/*///////////说明展示/////////////////
- echo ╭──────╮
- echo ╭──────────┤ 程序功能 ├──────────╮
- echo │ ╰──────╯ │
- echo │ │
- echo │ 1、去除U盘根目录文件夹的所有属性(包括隐藏) │
- echo │ │
- echo │ 2、删除U盘根目录及子文件夹中与文件夹同名的 │
- echo │ exe文件,需强烈注意!!! │
- echo │ │
- echo │ 3、本程序会处理插入的所有U盘对象 │
- echo │ │
- echo │────────────────────────────│
- echo │ 作者:2laoshi │
- echo │ 博客:http://www.2laoshi.cn │
- echo │ ──────────────────── │
- echo │ 声明:使用本程序导致的损失本人概不负责!! │
- echo ╰────────────────────────────╯
- echo.
- echo 按任意键开始 退出请按右上角"×"关闭
- echo ─────────────────────────────
- pause>nul
- cls
- SETLOCAL ENABLEDELAYEDEXPANSION
- echo.&echo 正在检测磁盘驱动器,请稍等...
- for /f "delims=\" %%i in ('fsutil fsinfo drives^|more') do (
- set DriveName=%%i
- set DriveName=!DriveName:~-2!
- dir /ad /b !DriveName!>nul 2>nul &&(
- fsutil fsinfo drivetype !DriveName!|find "可移动">nul 2>nul &&(
- set /a Snum+=1
- set !Snum!=!DriveName!
- )
- )
- )
- :'*/结束相关进程、删除病毒文件;
- taskkill /f /im Global.exe>nul 2>nul
- del /f /a /q %systemroot%\system32\dllcache\Recycler.{645FF040-5081-101B-9F08-00AA002F954E}\Global.exe
- taskkill /f /im system.exe>nul 2>nul
- del /f /a /q %systemroot%\system32\dllcache\Recycler.{645FF040-5081-101B-9F08-00AA002F954E}\system.exe
- :'*/清理病毒文件;
- if !Snum! GTR 0 (
- mode con cols=90 lines=30
- for /l %%i in (1 1 %Snum%) do call :clear !%%i!) else echo.&echo 没发现U盘!!
- pause>nul
- goto :eof
- :Clear 磁盘名称
- cls
- set "flag="
- echo 正在清理 %~1 盘病毒文件,请稍等...
- set "DriveName=%~1"
- echo ===================================================&echo.
- for /f "delims=" %%i in ('dir /b /s /ad "%DriveName%"') do (
- if exist "%%~i.exe" (
- echo 正在清理: %%~i.exe
- attrib -r -h -s -a "%%~i.exe"
- del /q /f "%%~i.exe" 2>nul
- set flag=ok
- )
-
- )
- if not defined flag echo 恭喜,没发现相关病毒!
- echo.&echo ====================================================
- echo 准备改回设置,请稍等...&echo.
- for /f "delims=" %%i in ('dir /b /ad /ah "%DriveName%" 2^>nul') do (
- echo 正在去除 %DriveName%\%%i 隐藏、系统属性
- attrib -r -h -s -a "%DriveName%\%%i"
- del /q /f "MS-DOS.com" 2>nul)
- echo.&echo 更改完毕!
- goto :eof
复制代码
|