windows – 如何查找映射驱动器的可用空间百分比?
是否可以以编程方式找到映射驱动器中的可用空间?
如何使用ms-dos查找驱动器中的可用空间百分比. 我在我的系统中映射了一些文件服务器. 可以在“我的电脑”中看到这个,但是如何在命令提示符中显示它?
(取自我在服务器故障中的旧答案)
可靠地获取可用磁盘空间的最简单方法是使用WMI.当试图解析dir的输出时,你会得到各种有趣的问题,至少在其他语言版本的Windows中.您可以使用wmic来查询驱动器上的可用空间: wmic logicaldisk where "DeviceID='C:'" get FreeSpace 这将输出类似的东西 FreeSpace 197890965504 您可以通过添加/ format:value开关将其强制为一行: > wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value FreeSpace=197890965504 那里有一些空行,但是(大约三到四行)不适合处理.幸运的是,当我们进行标记化时,for命令可以为我们删除它们: for /f "usebackq delims== tokens=2" %x in (`wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value`) do set FreeSpace=%x 这里的好处是,因为我们只使用第二个令牌,所有空行(没有第二个令牌)都会被忽略. 在批处理文件中使用此符号时,请记住加倍%符号: for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value`) do set FreeSpace=%%x 您现在可以使用存储在环境变量%FreeSpace%中的可用空间. 现在获取百分比有点棘手,因为批处理文件仅支持32位整数进行计算.但是,您可能不需要计算到字节;我认为兆字节已足够了: for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value`) do set FreeSpace=%%x for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where "DeviceID='C:'" get Size /format:value`) do set Size=%%x set FreeMB=%FreeSpace:~0,-6% set SizeMB=%Size:~0,-6% set /a Percentage=100 * FreeMB / SizeMB echo C: is %Percentage% % free 除非您的体积大于20 TiB,否则这应该有效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在远程桌面Windows Server 2008中多次以同一用户身份登录
- win10 桌面设置为远程桌面
- Window10的激活步骤
- 跟踪OceanLotus的新下载程序KerrDown
- windows – 如何删除oracle中的.dbf文件?
- WPF MahApps.Metro – 在哪里放置ResourceDictionaries?
- windows-server-2008 – 在dcpromo / forceremoval之后无法
- Windows操作系统环境下C app与Java App之间的进程间通信
- windows-server-2008 – 适用于Windows Server 2008的远程桌
- Windows批处理文件 – 拆分字符串以设置变量