1

有谁知道以编程方式找出哪个物理磁盘包含给定分区的方法?手动,我可以使用 Start->Run->diskmgmt.msc 找到此信息,在那里我可以看到(在我的计算机上)分区 C: 和 D: 在磁盘 1 上,E: & F: 在磁盘 0 上。

如果文件位于不同的物理磁盘上,这是为了通过并行执行某些文件处理操作来优化它们。

4

4 回答 4

3

您可以通过查询Win32_DiskDrive类使用 WMI 从 System.Management 命名空间获取此信息。

这是.NET 中有关 WMI 的基本信息。

于 2008-11-18T21:06:25.227 回答
1

除了 Arul 的回答之外,这里还有一个链接,它显示了如何从 VBS 脚本中使用 WMI 获取磁盘<->分区关联:WMI 任务:磁盘和文件系统 -> 请参阅页面上的最后一个示例。

编辑:更好的是,这是一篇关于使用 C# 的 WMI 的好文章,它恰好也描述了获取\\\\.\\PHYSICALDRIVE0包含逻辑磁盘的磁盘驱动器(例如)所需的 WMI 类之间的确切关系(例如C:

于 2008-11-18T21:46:05.957 回答
1

请参阅 HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

wmic path CIM_BasedOn get * > wmic-path-CIM_BasedOn-get.txt
wmic path CIM_DiskPartition get * > wmic-path-CIM_DiskPartition-get.txt
wmic path CIM_StorageExtent get * > wmic-path-CIM_StorageExtent-get.txt

请参阅类:CIM_BasedOn - 非枚举隐藏分区、CIM_DiskPartition -all,但看不到磁盘标签、CIM_StorageExtent - GUID、标签、分区(也隐藏)

于 2013-01-01T18:22:36.160 回答
0

您确定该分区仅与一个磁盘关联吗?它可以跨多个物理磁盘进行条带化/跨越/等。

于 2008-11-18T21:20:25.133 回答