@echo off title %~nx0 REM ################################################################################## REM * Autorun.inf の無効化をレジストリに設定(ウイルス対策) REM http://www10.plala.or.jp/palm84/archives/commandline/backup/Reg_NoAutorun.bat.txt REM https://eu7w9wsmf6a74xyjdfzl3q-on.drv.tw/archives/commandline/backup/Reg_NoAutorun.bat.txt REM ################################################################################## REM ### UAC Check REM ##################################### set Policies=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System for /f "usebackq tokens=3" %%x in (`reg query %Policies% /v EnableLUA 2^>nul ^| findstr /i EnableLUA`) do set "EnableLUA=%%x" if "%EnableLUA%"=="0x1" ( if /i not "%cd%"=="%windir%\system32" GOTO UAC ) pushd %~dp0 ver | find "Windows 2000" >nul && set osver=2k if "%osver%"=="2k" ( for /f "delims=" %%I in ("reg.exe") do set exe_reg=%%~$PATH:I if not defined exe_reg GOTO NO_FILE) set Reg_MPoints=Reg_back_MountPoints2 mkdir %Reg_MPoints% 2>nul set DisKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf set SubKey=Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2 :MENU set select= cls echo: echo ************************************************************* echo ***** ***** echo * === * Autorun.inf の無効化をレジストリに設定 === * echo * === * レジストリ キャッシュ(MountPonts2キー)の削除 === * echo ***** ***** echo * === そのままEnter : 無効化とキャッシュの削除 === * echo * === w : 無効化/有効化regファイル作成 === * echo * === x : * 無効化解除(※有効に戻す) === * echo ***** ***** echo * === 99 : * 終了する * === * echo ************************************************************* echo: set /p select= [Y,w,x,99] : echo: if "%select%"=="99" GOTO DONE if "%select%"=="" GOTO DISABLE if /i "%select%"=="y" GOTO DISABLE if /i "%select%"=="w" GOTO MAKE_REG if /i "%select%"=="x" GOTO ENABLE GOTO MENU REM ######################################### REM ### Autorun.inf の無効化 REM ######################################### :DISABLE cls echo: reg query "%DisKey%" /ve >nul 2>&1 if ERRORLEVEL 1 GOTO ADD_KEY for /f "usebackq tokens=3" %%x in (`reg query "%DisKey%" /ve`) do set value=%%x if /i "%value%"=="@SYS:DoesNotExist" ( echo * "Autorun.inf" キーと無効化エントリ値は既にありますた... GOTO MPoints ) :ADD_KEY echo * "Autorun.inf" 無効化キーを(再)作成します... reg add "%DisKey%" /ve /d @SYS:DoesNotExist /f >nul if ERRORLEVEL 1 ( echo ! ...作成できませんでした orz... ) else ( echo * ...作成しますた... ) REM ######################################### REM ### MountPoints2キーのバックアップと削除 REM ######################################### :MPoints echo: for /f "usebackq delims=" %%x in (`reg query HKU ^| findstr HKEY_USERS\`) do ( reg query "%%x\%SubKey%" >nul 2>&1 if not ERRORLEVEL 1 ( set ParKey=%%x call :REG_EX )) reg query "HKEY_CURRENT_USER\%SubKey%" >nul 2>&1 echo: if ERRORLEVEL 1 ( echo * "HKEY_CURRENT_USER" に MountPoints2 キーはありません ) else ( set Parkey=HKEY_CURRENT_USER call :REG_EX ) GOTO DONE :REG_EX set filename=%ParKey% set filename=%filename:\=_% echo: echo * "%ParKey%" echo の MountPoints2 キーをバックアップします... reg export "%ParKey%\%SubKey%" "%Reg_MPoints%\%filename%.reg.txt" >nul if ERRORLEVEL 1 ( echo ! ...バックアップできませんでしたorz... ) else ( echo * ...バックアップしますた... ) REM !!!!!!!!!!!!!! 削除するー !!!!!!!!!!!!!! echo: echo * "%ParKey%" echo の MountPoints2 キーを削除します... reg delete "%ParKey%\%SubKey%" /f >nul 2>&1 if ERRORLEVEL 1 ( echo ! ...削除できませんでしたorz... ) else ( echo * ...削除しますた... ) REM !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! exit /b REM ######################################### REM ### 無効化/有効化regファイル作成 REM ######################################### :MAKE_REG cls set Reg_autorun=Reg_back_Autorun mkdir %Reg_autorun% 2>nul set Disable_reg=%Reg_autorun%\Disable_Autorun.reg set Enable_reg=%Reg_autorun%\Enable_Autorun.reg set Del_Mpoints=%Reg_autorun%\Del_MountPoints2.reg > "%Disable_reg%" echo Windows Registry Editor Version 5.00 >>"%Disable_reg%" echo: >>"%Disable_reg%" echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf] >>"%Disable_reg%" echo @="@SYS:DoesNotExist" > "%Enable_reg%" echo Windows Registry Editor Version 5.00 >>"%Enable_reg%" echo: >>"%Enable_reg%" echo [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf] > "%Del_Mpoints%" echo Windows Registry Editor Version 5.00 >>"%Del_Mpoints%" echo: >>"%Del_Mpoints%" echo [-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2] if exist "%Disable_reg%" (if exist "%Enable_reg%" (if exist "%Del_Mpoints%" ( echo: echo * %Reg_autorun% ディレクトリにregファイルを作成しますた... echo: ) else ( echo: echo ! ...作成できませんでしたorz... echo: ))) echo: echo * 何かキーを押すとメニューに戻ります... pause >nul GOTO MENU REM ######################################### REM ### Autorun.inf の有効化 REM ######################################### :ENABLE cls reg query "%DisKey%" /ve >nul 2>&1 if ERRORLEVEL 1 ( echo: echo ! Autorun.inf キーはありません... echo: echo * 何かキーを押すとメニューに戻ります... pause >nul GOTO MENU ) reg delete "%DisKey%" /f >nul 2>&1 if ERRORLEVEL 1 ( echo: echo ! ...削除できませんでしたorz... echo: echo * 何かキーを押すとメニューに戻ります... pause >nul GOTO MENU ) else ( echo: echo * ...Autorun.inf 無効化キーを削除しますた... echo: GOTO DONE ) REM ######################################### REM ### NO_FILE REM ######################################### :NO_FILE echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: echo !reg.exe がありませぬ... echo: echo *** 何かキーを押すと閉じます *** echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: pause >nul GOTO :EOF REM ##################################### REM ### UAC REM ##################################### :UAC echo: echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: echo !「管理者として実行」してくださいマセ ! echo: echo *** 何かキーを押すと閉じます *** echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: pause >nul GOTO :EOF REM ######################################### REM ### DONE REM ######################################### :DONE echo: echo: echo ***** 終了します... ***** echo: echo ***** 何かキーを押すと閉じます... ***** pause >nul dir /a-d %Reg_MPoints%\ >nul 2>nul || rmdir %Reg_MPoints% :END