Board logo

标题: [数值计算] 批处理,硬盘容量计算,如何显示传统容量? [打印本页]

作者: ygqiang    时间: 前天 15:54     标题: 批处理,硬盘容量计算,如何显示传统容量?

本帖最后由 ygqiang 于 2024-10-25 19:36 编辑

批处理,硬盘容量计算,如何显示常规容量?比如32G\128G\256G\500G\1T
  1. @echo off & setlocal enabledelayedexpansion
  2. echo 代码开始
  3. cls
  4. @echo off&setlocal enabledelayedexpansion
  5. set "_NVMe=SSD-NVMe"
  6. set "_USB=USB"
  7. set "_SATA=HDD/SSD-SATA"
  8. for /f "tokens=2,4,5" %%a in ('"echo list disk|diskpart|findstr /irc:"磁盘  *[0-9]""') do (
  9.      for /f "tokens=3" %%i in ('"(echo sel disk %%a & echo detail disk & echo list part)|diskpart|findstr /irc:"类型  *:""') do (
  10.           if defined _%%i echo.&echo.&echo Disk%%a Type: !_%%i! %%b %%c
  11.      )
  12. )
  13. pause >nul
  14. exit
复制代码
运行后显示如下:
Disk0 Type:        HDD/SSD-SATA         465 GB
Disk1 Type:        SSD-NVMe         238 GB
Disk2 Type:        USB         117 GB
Disk3 Type:        USB         931 GB
Disk4 Type:        USB         28 GB
作者: ygqiang    时间: 前天 15:56

本帖最后由 ygqiang 于 2024-10-24 15:57 编辑

参考下面的代码,可以显示常规容量,256G\500G
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. COLOR 04
  4. COLOR 84
  5. COLOR f4
  6. COLOR fc
  7. COLOR 7c
  8. COLOR 74
  9. echo.
  10. echo.
  11. echo --------------硬盘信息如下:
  12. echo.
  13. set "StrDrive="
  14. for /f "tokens=1* delims==" %%a in ('"wmic DiskDrive where MediaType='Fixed hard disk media' get Model,Size /value | findstr ="') do (
  15.     if "%%a" == "Model" (
  16.         for /f  %%i in ("%%b") do (
  17.             set StrDrive=!StrDrive!,品牌:%%i
  18.         )
  19.     ) else if "%%a" == "Size" (
  20.         for /f "delims=" %%i in ("%%b") do (
  21.             set SizeGB=%%i
  22. set /a SizeGB=!SizeGB:~, -6!/1000
  23. set StrDrive=!StrDrive!,容量:!SizeGB!GB
  24. set "StrDrive=!StrDrive:~1!"
  25. echo,!StrDrive!
  26. set "StrDrive="
  27.         )
  28.     )
  29. )
  30. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2