장착되어 있는 디스크를 한눈에 보는 용도 이며
각 디스크 번호 크기 나눠진 파티션 수 모델 순서로 표시해서 보기 입니다.
--------------------------------------------------------------------------------------------
@echo off
chcp 65001 >nul
mode con cols=88 lines=45
echo(
echo( Disk No Size Part Model
echo([32m--------------------------------------------------------------------------------[0m
for /f "skip=2 delims=" %%a in ('wmic diskdrive get medialoaded') do call :getdisk
for /f "skip=2 delims=" %%a in ('wmic diskdrive get medialoaded') do call :setdisk
>temp.txt echo wscript. echo round^(wscript.arguments^(0^) / ^(1024 * 1024* 1024^)^)
for /f "skip=2 delims=" %%a in ('wmic diskdrive get medialoaded') do call :numdisk
if exist temp.txt del /q temp.txt
pause >nul
:getdisk
set /a disk=%disk%+1
goto:eof
:setdisk
if not defined numreset set /a numreset=%disk%-1
if not defined num (set num=0) else (set /a num=%num%+1)
for /f "tokens=1-10 delims==" %%a in ('wmic diskdrive %num% get model^,size^,partitions /format:list') do set %%a%num%=%%b
if "%num%"=="%numreset%" set "num="
goto:eof
:numdisk
if not defined num (set num=0) else (set /a num=%num%+1)
setlocal enabledelayedexpansion
set model=model%num%
set size=size%num%
for /f "delims=" %%S in (
'"wmic diskdrive %num% get partitions /format:list"'
) do for /f "tokens=2* delims==" %%A in ("%%S") do set part=%%A
:GB
if "%disk%" geq "%num%" for /f %%a in ('cscript //nologo //e:vbscript temp.txt "!%size%!"') do set sizegb=%%a
set "size1= %sizegb%" %4 %3
echo( [96mDisk %num%%size1:~-9% GB ÷(%part%) !%model%![0m
echo([32m--------------------------------------------------------------------------------[0m
endlocal
goto:eof
-------------------------------------------------------------------------------------------------------------
'유용한 배치파일' 카테고리의 다른 글
하드 디스크 미러링 (2) | 2024.06.05 |
---|---|
바로가기 만들기 (4) | 2024.03.08 |
주요 사양 보기 (2) | 2023.11.15 |
부팅 방식 및 C: 레이블 찾기 (0) | 2023.11.10 |
Cleaning (1) | 2023.10.26 |