如何获取物理磁盘中未分配空间的信息

3

有人可以帮忙吗?如何使用C#获取磁盘中未分配空间的信息?


1
定义未分配空间信息。可用的空闲空间可以吗? - Ilian
2个回答

3
如果您想了解卷的总可用空间,可以使用 DriveInfo.AvailableFreeSpace

http://msdn.microsoft.com/en-us/library/system.io.driveinfo.aspx

你还可以使用WMI获取有关磁盘分区的信息,使用Win32_DiskPartitionWin32_DiskDrive
Win32_DiskPartition:http://msdn.microsoft.com/en-us/library/aa394135%28VS.85%29.aspx
Win32_DiskDrive:http://msdn.microsoft.com/en-us/library/aa394132%28v=VS.85%29.aspx 您可以使用DeviceID字段来识别哪个分区在哪个磁盘上,然后使用StartOffsetSize字段构建物理磁盘上分区的映射。然后只需使用Win32_DiskDrive中的数据计算整个磁盘的大小,并计算余数。
这是一篇关于使用WMI的MSDN文章,应该能够为您提供所需的所有帮助:
http://msdn.microsoft.com/en-us/library/ms257338.aspx

0

尝试使用类似这样的代码:

using System.Linq;
using System.IO;
using System;
namespace DriveInfoExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Check only for fixed drives
            foreach (var di in DriveInfo.GetDrives().Where(d=>d.DriveType == DriveType.Fixed))
            {
                Console.WriteLine("Free space on drive {0}\t{1} bytes", di.Name, di.AvailableFreeSpace);
            }
        }
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接