Joe*_*oey 13
可靠地获得可用磁盘空间的最简单方法是使用 WMI。尝试解析输出时dir会遇到各种有趣的问题,至少对于其他语言的 Windows 版本。您可以使用wmic查询驱动器上的可用空间:
wmic logicaldisk where "DeviceID='C:'" get FreeSpace
Run Code Online (Sandbox Code Playgroud)
这将输出类似
FreeSpace
197890965504
Run Code Online (Sandbox Code Playgroud)
您可以通过添加/format:value开关将其强制为一行:
> wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value
FreeSpace=197890965504
Run Code Online (Sandbox Code Playgroud)
那里有一些空行(大约三四个),它们不适合处理。幸运的是,for当我们进行标记化时,该命令可以为我们删除它们:
for /f "usebackq delims== tokens=2" %x in (`wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value`) do set FreeSpace=%x
Run Code Online (Sandbox Code Playgroud)
这里的好处是,因为我们只使用第二个标记,所以所有空行(没有第二个标记)都会被忽略。
%在批处理文件中使用它时,请记住将符号加倍:
for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value`) do set FreeSpace=%%x
Run Code Online (Sandbox Code Playgroud)
您现在可以使用存储在环境变量中的可用空间%FreeSpace%。
| 归档时间: |
|
| 查看次数: |
55605 次 |
| 最近记录: |