如何查找映射驱动器的可用空间百分比?

2024-02-10

是否可以以编程方式查找映射驱动器中的可用空间?

如何使用 ms-dos 查找驱动器中可用空间的百分比。
在硬盘中找到驱动器的可用空间可能很容易,但我需要找到映射驱动器的可用空间。

我已经在我的系统中映射了一些文件服务器。

可以在“我的电脑”中看到它,但是如何在命令提示符中显示它?


(摘自我在服务器故障上的旧答案)

可靠地获取可用磁盘空间的最简单方法是使用 WMI。当尝试解析输出时dir你会遇到各种有趣的问题,至少在使用其他语言的 Windows 版本时是这样。您可以使用wmic查询驱动器上的可用空间:

wmic logicaldisk where "DeviceID='C:'" get FreeSpace

这将输出类似的内容

FreeSpace
197890965504

您可以通过添加以下内容将其强制写入一行/format:value switch:

> 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,否则这应该有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何查找映射驱动器的可用空间百分比? 的相关文章

随机推荐

  • Clang -fPIC 编译器选项解释

    有人可以解释一下 fPIC 选项的作用吗 我似乎找不到它的参考资料 但我已经看到它在使用中 我相信它与可执行文件将使用的内存分配 空间有关 但希望有更具体的东西 Cheers Nap 这些是您正在寻找的参考资料 https gcc gnu
  • 如何从 YAML 构建管道访问 VSTS 变量组?

    我目前正在将 VSTS 构建管道转换为YAML 构建定义 https github com Microsoft vsts agent blob master docs preview yamlgettingstarted md 但是我还找不
  • 如何实现自定义std::streambuf的seekoff()?

    我有以下基于例如的实现这个问题和答案 https stackoverflow com questions 6763646 istreamtellg returns 1 when used with my custom streambuf c
  • 从一个 Web API 控制器访问另一个 Web API 控制器

    我有两个 Web API 控制器 PageController and BlogController 它们包含用于创建页面和博客的简单内容 每次创建博客时 我都需要创建一个页面 但反之则不然 这样做的最好方法是什么 我觉得如果我继承的话 我
  • 如何在 Bash 中像拉链一样合并两个数组?

    我正在尝试以类似拉链的方式将两个数组合并为一个数组 我很难做到这一点 array1 one three five seven array2 two four six eight 我尝试过嵌套 for 循环 但无法弄清楚 我不希望输出为 13
  • 控制器外部的 Spring 异常处理程序

    In ControllerAdvice类我有一个 ExceptionHandler 这个处理程序可以很好地处理控制器错误 但如果我有一个过滤器 它们就无法处理异常 我该如何处理这些异常 过滤器是 public class AuthFilte
  • python 3 中 math.isnan 、numpy.isnan 和 pandas.isnull 之间有什么区别?

    A NaN类型为decimal Decimal的原因 math isnan 返回 True numpy isnan 抛出 TypeError 异常 pandas isnull 返回 False math isnan numpy isnan
  • 如何使用curl解码“Content-Encoding:gzip,gzip”?

    我正在尝试使用以下代码使用 CURL 解码网页 www dealstan com ch curl init curl setopt ch CURLOPT URL url Define target site curl setopt ch C
  • 在 gwt 中上传到服务器之前在客户端上显示图像

    我想在将图像上传到服务器之前在客户端上显示图像及其尺寸 每当我尝试创建一个Imagegwt ext 的小部件 它不接受本地文件 在文件系统上 它只接受http请求 我也尝试过String img GWT getHostPageBaseURL
  • 在MAMP上安装Mongo驱动

    我已经下载 编译并安装了最新的 mongo php 驱动程序 它位于 opt local lib php extensions no debug non zts 20090626 mongo so 我该如何将其添加到 MAMP php in
  • 访问存储正则表达式的二维数组以进行表单验证

    我正在尝试循环遍历表单字段并针对存储在数组中的正则表达式进行验证 看不出这里出了什么问题 有什么想法吗
  • 如何在 keras 生成器中使用 numpy memmap 不超过 RAM 内存?

    我正在尝试在生成器内实现 numpy memmap 方法 以使用 keras 训练神经网络 以免超出内存 RAM 限制 我用这个作为参考post https stackoverflow com questions 45132940 nump
  • BLUEZ 中的 DBUS API

    我是 BLUEZ 和 Linux 的新手 我发现 Bluez 提倡使用 DBUS API 我还想知道 BLUEZ 中的 DBUS API 是什么 使用它们而不是直接的 C API 有什么好处 与 C API 相比有何不同 从我自己的经验来看
  • 如何使用 Mockito 在 Flutter 中模拟静态方法?

    我有一个文件函数fetchPosts 它负责从服务器获取新帖子并将其存储在本地 sqlite 数据库中 正如 sqflite 上的推荐doc https github com tekartik sqflite blob master sqf
  • Rails 3.1 错误捕获

    我认为 Rails 3 1 正在改变引发错误的方式 任何人都可以协助或确认这一点吗 我正在尝试使用 Rails 3 1 0 rc1 创建自定义错误页面 unless config consider all requests local re
  • LinearLayout achartengine 图表不显示在 ScrollView 中

    我正在尝试在滚动视图中创建 achartengine 图表 但它不会显示 它只显示黑屏 但不会崩溃或发生任何情况 问题是 如果我只是将标签更改为图表显示就好了 在我的 Java 代码中 我确实有 renderer setInScroll t
  • 使用 Modernizr 加载脚本...不工作

    我在尝试使用 Modernizr 版本的 yepnope 加载脚本时遇到问题 并且无法理解它们为何不同 如果我使用 yep nope 加载脚本 它可以正常工作
  • NSubstitute DbSet / IQueryable

    因此 EntityFramework 6 比以前的版本具有更好的可测试性 还有一些很好的例子 http msdn microsoft com en us data dn314429 queryTest在互联网上寻找像 Moq 这样的框架 但
  • 排序忽略标点符号 (Objective-C)

    我正在尝试对 iOS UITableView 对象进行排序 我目前正在使用以下代码 Sort terms alphabetically ignoring case self termsList sortUsingSelector selec
  • 如何查找映射驱动器的可用空间百分比?

    是否可以以编程方式查找映射驱动器中的可用空间 如何使用 ms dos 查找驱动器中可用空间的百分比 在硬盘中找到驱动器的可用空间可能很容易 但我需要找到映射驱动器的可用空间 我已经在我的系统中映射了一些文件服务器 可以在 我的电脑 中看到它