我正在构建一个找到最小磁盘的批处理脚本。然而,当我将8GB USB记忆棒插入我的系统时,它显示为7445MB而不是8GB,而任何较大的文件(如16GB)显示为16GB。
有没有让diskpart list disk命令以标准单位显示这些位或任何东西?
答案 0 :(得分:0)
DISKPART不提供此行为。
您可以像这样尝试Windows Management Instrumentation:
wmic logicaldisk get size,caption
这将为您提供一个数组:
Caption Size
A: 18961660268544
B: 20703116496896
C: 460608311296
E: 18961660268544
K: 18961660268544
P: 20703116496896
Q: 60100182016
S: 18961660268544
T: 18961660268544
U: 18961660268544
V: 20703116496896
答案 1 :(得分:0)
Batch并不是注定要在Terabyte范围内进行数学运算
此PowerShell脚本显示decimal(SI) and binary meaning中的大小
要仅获取第一个(最小的)磁盘,请删除第一行中的#
。
Get-PhysicalDisk | Sort-Object size |# Select-Object -first 1|
ForEach-Object{
"Size:{0,6}GB Size:{1,6}GiB Model:{2}" -f $([int]($_.size/1000000000)),$([int]($_.size/1GB)),$_.model
}
示例输出:
> .\SO_42537745.ps1
Size: 250GB Size: 233GiB Model:VB0250EAVER
Size: 2000GB Size: 1863GiB Model:ST2000DL003-9VT166
Size: 2000GB Size: 1863GiB Model:Hitachi HDS722020ALA330