繁体   English   中英

Windows批处理WMIC磁盘驱动器获取大小,其中媒体类型=固定硬盘媒体

[英]windows batch wmic diskdrive get size where media type = Fixed hard disk media

我需要通过Windows批处理文件获取本地安装的硬盘的大小。请帮助

for /f ? %%f in ('wmic diskdrive where (MediaType='Fixed hard disk media') get size /value') do echo "%%f"

您可能想要这样的东西:

@Echo Off
For /F "Skip=1 Delims=" %%A In (
    '"WMIC LogicalDisk Where (DriveType='3') Get DeviceID, Size"'
) Do For /F "Tokens=1-2" %%B In ("%%A") Do Echo(%%B - %%C
Timeout -1

由于LogicalDisk仅返回分区大小,而对于现代驱动器,容量将超过cmd.exe的set / A命令的32位带符号整数数学运算,因此我建议使用PowerShell脚本来获取一些数据:

$Drives=0 ; $TotalSize=0
get-physicaldisk | 
  ForEach {$_;$Drives+=1;$TotalSize+=$_.Size}|
    Format-Table -auto DeviceID,Size,BusType,MediaType,model,serialnumber
"Drives       TotalSize"
"------- --------------"
"{0,-6} {1,15}" -f $Drives,$TotalSize

样本输出:

> .\SO_42525626.ps1

DeviceID          Size BusType MediaType   model                      serialnumber
--------          ---- ------- ---------   -----                      ------------
1         256060514304 SATA    SSD         Samsung SSD 840 PRO Series xxxxxxxxxxxxxxx
0        2000398934016 SATA    HDD         ST2000DL003-9VT166         yyyyyyyy
3        1000204886016 USB     Unspecified 2105                       zzzzzzzzzzzzzzzzzzzz


Drives       TotalSize
------- --------------
3        3256664334336

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM