@echo off chcp 65001 >nul pushd "%~dp0" color f0 setlocal enabledelayedexpansion for /f "tokens=1 delims=:" %%A in ('findstr /xnc:"<Clusters>" "%~f0"') do set Skip=%%A for /f "tokens=1-5" %%A in ('"echo list disk | diskpart | findstr /irc:"Disk [0-9]""') do ( echo %%A %%B - %%D %%E call :Line for /f "tokens=2" %%P in ('"(echo select disk %%B & echo list partition) | diskpart | findstr /irc:"Partition [0-9]""') do ( call :Cluster %%B %%P ) echo. ) call :Line pause exit :Cluster set Flag=type for /f "tokens=2 delims=:" %%S in ('"(echo select disk %1 & echo select partition %2 & echo filesystems) | diskpart | findstr /i "Type Unit""') do ( if "!Flag!"=="type" ( set Flag=cluster set "V= %%S" set "V=!V:~-6!" <nul set /p "Tmp=%%P ^>^> !V! : " ) else ( call :ClusterView %%S exit /b ) ) exit /b :ClusterView for /f "usebackq skip=%Skip% tokens=1-2 delims==" %%K in ("%~f0") do ( if "%%K"=="</Clusters>" exit /b if /i %1==%%K ( echo %%L exit /b ) ) exit /b :Line echo ------------------------------- exit /b <Clusters> 4096=4096 8192=8192 16384=16K 16K=16K 32768=32K 32K=32K 65536=64K 64K=64K </Clusters> |