【发布时间】:2014-07-15 09:30:14
【问题描述】:
我正在尝试使用 wmic 获取计算机中物理驱动器的信息,以获得如下信息:
Drive C:
500 GB Total
100 GB Free
20% Free
Drive D:
500 GB Total
100 GB Free
20% Free
到目前为止我的代码是:
for /f "usebackq tokens=*" %%a in (`wmic logicaldisk where "drivetype=3" get caption`) do (
echo "Drive=%%a"
for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where DeviceID='%%a'"
get FreeSpace /format:value`) do set FreeSpace=%%x
for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where "DeviceID='%%a'" get Size /format:value`) do set Size=%%x
echo FreeMB=%FreeSpace%
echo SizeMB=%Size%
set /a Percentage=100 * %FreeSpace% / %Size%
echo %%a is %Percentage% %% free
)
我的输出是:
"Drive=Caption
No Instance(s) Available.
No Instance(s) Available.
FreeMB=9193357312
SizeMB=80024170496
Invalid number. Numbers are limited to 32-bits of precision.
is % free
"Drive=C:
No Instance(s) Available.
No Instance(s) Available.
FreeMB=9193357312
SizeMB=80024170496
Invalid number. Numbers are limited to 32-bits of precision.
is % free
"Drive=E:
No Instance(s) Available.
No Instance(s) Available.
FreeMB=9193357312
SizeMB=80024170496
Invalid number. Numbers are limited to 32-bits of precision.
is % free
"Drive=
No Instance(s) Available.
No Instance(s) Available.
FreeMB=9193357312
SizeMB=80024170496
Invalid number. Numbers are limited to 32-bits of precision.
is % free
我遇到了许多甚至没有驱动器的行,我无法格式化值,因此我可以计算百分比,或以正常格式显示值
【问题讨论】:
标签: windows batch-file space wmic