Я хочу отобразить всю подключенную модель дисковода, имя, индекс и размер в командной строке. Я использую приведенный ниже простой код
wmic diskdrive GET index,caption,name,size /format:table
Выход
Caption Index Name Size
SAMSUNG SSD PM830 2.5" 7 0 \\.\PHYSICALDRIVE0 256052966400
Seagate backup plus 1 \\.\PHYSICALDRIVE1 536870912000
Я хочу такой же вывод, как указано выше, за исключением того, что я хочу, чтобы размер отображался в ГБ
Я думаю, что есть какой-то способ сделать это, используя для циклов и временных файлов VB.
Я специально ищу Windows CMD код. Кто-нибудь может помочь?
Я могу сделать преобразование размера и отобразить его на cmd
for /f "tokens=1,2" %a in ('WMIC DISKDRIVE GET Name^,Size ^|FINDSTR /I /V "Name"') do @echo wsh.echo "%a" ^& " size=" ^& FormatNumber^(cdbl^(%b^)/1024/1024/1024, 2^)^& " GiB" > %temp%\tmp.vbs & @if not "%b"=="" @echo( & @cscript //nologo %temp%\tmp.vbs & del %temp%\tmp.vbs
Выход
\\.\PHYSICALDRIVE0 Size=238.47 (GB)
Но я все еще не могу правильно отобразить название модели .. Я просто не могу заставить цикл for работать так, как задумано (в моем случае в имени модели есть пробелы между ними. Приведенный ниже код работает только для печати моделей).
for /f "tokens=1-5 skip=1" %a in ('wmic diskdrive GET model') do @echo. %a %b %c %d %e
Выход
SAMSUNG SSD PM830 2.5" 7
Может ли кто-нибудь помочь мне объединить оба кода так, чтобы он отображал как
SAMSUNG SSD PM830 2.5" 7 \\.\PHYSICALDRIVE0 Size=238.47 (GB)