列出磁盘上的所有分区
我正在C#中为Windows不支持的文件系统创建一个实用程序,这意味着我不能只访问该驱动器。 我需要一种方法来列出硬盘上的所有分区并写入/格式化它们。
要列出磁盘分区,您可以使用WMI。
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"]); }
您可以使用以下方法获取安装了磁盘分区的Volume或DriveLetter。
- Win32_LogicalDiskToPartition
- Win32_DiskDrive
在Win32_DiskDrive
类中,您可以通过查询属性Index
或从Name
属性中提取DriveNumber
来获取DriveNumber
。 然后从Win32_LogicalDiskToPartition
查询Antecedent
和Dependent
。 在Antecedent
值中,您将获得磁盘编号以及它尝试映射Volume的分区,然后从Dependent
属性中提取DriveLetter
,如“C:”,“D:”等。 因此,通过使用此逻辑,您可以将LogicalDrives
安装在特定的HardDisk
。 我在我的组件中使用此逻辑来获取我系统上特定硬盘驱动器的LogicalDrive
名称(“C:”,“D:”等)。
上述就是C#学习教程:列出磁盘上的所有分区分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/986873.html