判断Drive是分区还是单独的HDD

时间:2012-02-02 14:31:44

标签: c# windows file-io

我正在编写自己的文件搜索(为什么因为我想/可以 - 不寻找现有程序)。我可以使用DriveInfo.GetDrives()方法获取c#中的所有驱动器。理想情况下,我希望仅在单独磁盘的驱动器上并行运行搜索,并且对于位于同一驱动器上的分区顺序运行它们。这样我就不会在GetDrives返回所有分区或可移动媒体时不断寻找驱动器。我知道我可以告诉它类型是USB驱动器还是硬盘驱动器?我怎样才能实现DriveInfo或任何其他方法?

1 个答案:

答案 0 :(得分:3)

This related question展示了如何找到使用WMI(在System.Management中找到):

var searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_DiskPartition");

foreach (var queryObj in searcher.Get())
{
    Console.WriteLine("-----------------------------------");
    Console.WriteLine("Win32_DiskPartition instance");
    Console.WriteLine("Name:{0}", (string)queryObj["Name"]);
    Console.WriteLine("Index:{0}", (uint)queryObj["Index"]);
    Console.WriteLine("DiskIndex:{0}", (uint)queryObj["DiskIndex"]);
    Console.WriteLine("BootPartition:{0}", (bool)queryObj["BootPartition"]);
}