Windows 禁止創建名為 `autorun.inf` 的**文件夾** (視為保留設備名)。利用此特性,在每個分區根目錄創建 `autorun.inf\cfan..` 這樣的**不可刪除目錄結構**,佔用名稱,使病毒無法創建同名 `autorun.inf` 文件,從而阻斷 `autorun.inf` 傳播鏈。
@echo off
mode con cols=70 lines=18
title 建立或刪除 autorun.inf 免疫文件夾
color 4f
cls
echo.
echo 免疫 autorun 類病毒,建立或刪除 autorun.inf 文件夾 for XP/Win7/10/11
echo ---------------------------------------------------------------
echo.
echo 此腳本會在每個分區根目錄建立 autorun.inf\cfan.. 文件夾,
echo 默認情況下資源管理器無法刪除,但可用本腳本「刪除模式」清理。
echo.
echo 2024 更新版 (兼容原 2008 邏輯)
echo.
echo [Y] 按 Y 鍵 建立免疫文件夾 (預設操作)
echo [D] 按 D 鍵 刪除所有分區免疫文件夾
echo [Q] 按其他鍵 退出
echo -----------------------------------------------------------------
echo.
set "Choice="
set /p Choice= 請選擇操作 [Y/D/Q]:
if /i "%Choice:~0,1%"=="y" goto :MD_IMMUNE
if /i "%Choice:~0,1%"=="d" goto :DEL_IMMUNE
exit /b
:MD_IMMUNE
for %%d in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist "%%d:\" (
del /a /f /q "%%d:\autorun.inf" >nul 2>&1
md "%%d:\autorun.inf" >nul 2>&1
cd /d "%%d:\autorun.inf" >nul 2>&1
md "cfan..\" >nul 2>&1
attrib +s +h +r "%%d:\autorun.inf" >nul 2>&1
echo [OK] %%d:\ 已建立免疫
)
)
cls
color 2f
echo.&echo.&echo.
echo 所有可用分區已建立 autorun.inf\cfan.. 免疫結構。
echo 感謝使用,按任意鍵退出...
pause>nul
exit /b
:DEL_IMMUNE
for %%d in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist "%%d:\autorun.inf" (
rd /s /q "%%d:\autorun.inf\cfan..\" >nul 2>&1
rd /s /q "%%d:\autorun.inf" >nul 2>&1
echo [OK] %%d:\ 已清除免疫
)
)
cls
color e5
echo.&echo.&echo.
echo 所有分區免疫結構已清除。
echo 感謝使用,按任意鍵退出...
pause>nul
exit /b
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 255 /f
# 255 = 禁止所有驅動器類型 AutoRun
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers" /v DisableAutoplay /t REG_DWORD /d 1 /f
注意:`autorun.inf` 免疫僅防「基於 autorun.inf 的自動執行傳播」,不防漏洞利用/社工/供應鏈攻擊,**請配合全盤實時防護使用**。