2017-03-01 35 views

回答

0

你可能想是這樣這樣的:

@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 
+0

非常感謝Compo! –

0

由於邏輯磁盤將只返回分區大小,與現代驅動器的容量將超過CMD.EXE的集合/ 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 
+0

謝謝,但他們不太熟悉PowerShell腳本。 –