gpt4 book ai didi

c# - 如何在没有分配字母的情况下获得磁盘卷上的可用空间?

转载 作者:行者123 更新时间:2023-11-30 18:00:35 25 4
gpt4 key购买 nike

我正在尝试查找有关卷的可用空间信息。那些分配了字母的很好(GetDiskFreeSpaceEx)。我还连接到 VDS(虚拟磁盘服务)并检索到名为 AvailableAllocationUnits (A) 和 AllocationUnitSize (B) 的内容,其中 A*B = Windows 显示的自由尺寸。但是 B 是 4096,所以这不是一个精确的字节数。

  1. 如果没有 VDS,如何确定这一点?
  2. 是否有更精确的方式(以字节为单位)?

问候,
凯特

最佳答案

在 Windows 上,您可以执行以下命令并解析输出:

vssadmin list volumes

这给出:

C:\Windows\system32>vssadmin list volumes
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.

Volume path: \\?\Volume{66c6160d-60cc-11e3-824b-806e6f6e6963}\
Volume name: \\?\Volume{66c6160d-60cc-11e3-824b-806e6f6e6963}\
Volume path: D:\
Volume name: \\?\Volume{66c6160f-60cc-11e3-824b-806e6f6e6963}\
Volume path: C:\
Volume name: \\?\Volume{66c6160e-60cc-11e3-824b-806e6f6e6963}\

然后执行

fsutil volume diskfree

给出:

C:\Users\MC>fsutil volume diskfree \\?\Volume{66c6160e-60cc-11e3-824b-806e6f6e6963}\
Total # of free bytes : 47826694144
Total # of bytes : 255691059200
Total # of avail free bytes : 47826694144

要读取shell进程的输出,可以读取标准输出

string output = proc.StandardOutput.ReadToEnd();

免责声明:是的,我知道这不是最干净的方式,但它是一种方式。因为我不知道用于访问此类低级信息的 API。

关于c# - 如何在没有分配字母的情况下获得磁盘卷上的可用空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9974503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com