@echo off title %~nx0 REM ################################################################################## REM * HD全ドライブのチェックディスク REM http://palm84.hatenablog.com/entry/20160212/1455265478 REM http://www10.plala.or.jp/palm84/archives/commandline/backup/Chkdsk_Run-All.bat.txt REM https://eu7w9wsmf6a74xyjdfzl3q-on.drv.tw/archives/commandline/backup/Chkdsk_Run-All.bat.txt REM ################################################################################## REM ### UAC Check REM ##################################### REM 更新 2023.06.22 ログファイル名の日付時刻を修正 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 REM ## log REM set now=%date%_%time% REM set now=%now: =0% REM set now=%now:~-20,2%%now:~-17,2%%now:~-14,5%%now:~-8,2%%now:~-5,2% set now=%date:/=%_%time: =0% set now=%now: =% set now=%now:.=% set now=%now::=% set log=%cd%\Chkdsk_%now%.txt REM ##################################### REM ### START REM ##################################### echo: echo: echo ============================================================== echo HDドライブの チェック ディスク を開始イタシマス! echo ============================================================== echo: echo 続行しますか? 中断は xボタン or Ctrl-C echo: echo *** 何かキーを押すと実行します *** pause >nul echo: echo: REM ##################################### REM ### ドライブ文字検索 REM ##################################### setlocal enabledelayedexpansion for %%x 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 ( dir /a/b >nul 2>nul %%x:\ if not ERRORLEVEL 1 ( reg query HKLM\SYSTEM\MountedDevices /v \DosDevices\%%x: >nul 2>nul if not ERRORLEVEL 1 ( reg query HKLM\SYSTEM\MountedDevices /v \DosDevices\%%x: | findstr /i 4300640052006F006D00 >nul 2>nul if ERRORLEVEL 1 ( reg query HKLM\SYSTEM\MountedDevices /v \DosDevices\%%x: | findstr /i 520065006D006F007600610062006C0065004D0065006400690061 >nul 2>nul if ERRORLEVEL 1 ( reg query HKLM\SYSTEM\MountedDevices /v \DosDevices\%%x: | findstr /i 550053004200530054004F00520023004400690073006B00 >nul 2>nul || set "drive=%%x" && call :CHECK ))))) GOTO DONE REM ##################################### REM ### CHECK REM ##################################### :CHECK echo * %drive%: ドライブをチェック中..... >>"%log%" echo ============================================================== >>"%log%" echo *** * %drive%: ドライブ >>"%log%" echo ============================================================== >>"%log%" echo. 1>>"%log%" (chkdsk %drive%: | findstr /v 処理されました^) | findstr /v パーセント終了しました。 | findstr /v 進行状況) 2>nul >>"%log%" echo. >>"%log%" echo. >>"%log%" echo. echo. exit /b REM ##################################### REM ### UAC REM ##################################### :UAC echo: echo: echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: echo !「管理者として実行」してくださいマセ ! echo: echo *** 何かキーを押すと閉じます *** echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: pause >nul GOTO :EOF REM ##################################### REM ### done ! REM ##################################### :DONE echo: echo: echo ============================================================ echo done ! echo ============================================================ echo: echo * 何かキーを押すとログを表示します。 echo: pause >nul start "" "%log%"