C# DriveInfo 获取系统所有驱动器及类型

Felix
Felix
发布时间:2026-10-14 | 4人浏览过
原创

利用 System.IO 命名空间下的 DriveInfo 类及其 GetDrives() 静态方法,开发者可以一行代码获取系统中所有逻辑驱动器的实例数组。通过迭代该数组并访问属性,即可快速识别如硬盘(Fixed)、CD-ROM(Removable)等不同类型的存储设备。

核心实现原理

DriveInfo.GetDrives() 是一个静态方法,它会查询当前操作系统的所有已挂载驱动器,并返回一个 DriveInfo[] 数组。这是执行遍历操作的前提。我们需要关注两个核心属性:

  • Name:获取驱动器的根目录路径(例如 "C:\\")。
  • DriveType:获取驱动器的类型枚举值,常见包括 Fixed(固定磁盘)、Removable(可移动介质)、CDRom 等。

详细操作步骤

第1步:添加必要的命名空间引用

在使用 DriveInfo 之前,必须确保代码文件顶部包含 System.IO 命名空间的引入,否则编译器将无法识别该类。

using System;
using System.IO;

第2步:调用静态方法获取驱动器列表

直接调用 DriveInfo.GetDrives()。此操作是只读的且通常很快,无需额外的权限检查(除非涉及非常受限的系统环境),但应留意它不会抛出因权限不足导致的错误,而是静默忽略不可访问的驱动器。

// 获取所有驱动器信息的数组
DriveInfo[] drives = DriveInfo.GetDrives();

// 检查是否获取到了数据
if (drives == null || drives.Length == 0)
{
    Console.WriteLine("未检测到任何驱动器。");
    return;
}

第3步:遍历并输出详细信息

使用 foreach 语句遍历上一步得到的数组。对于每一个 DriveInfo 实例,格式化输出其名称和类型。

foreach (DriveInfo drive in drives)
{
    // 输出驱动器盘符,如 C:
    Console.WriteLine("Drive: {0}", drive.Name);
    
    // 输出驱动器类型,如 Fixed, Removable
    Console.WriteLine("Type: {0}", drive.DriveType);
}

注意事项与排错

在实际应用中,如果驱动器正在被其他进程独占打开,或者某些虚拟驱动器状态异常,DriveInfo 的部分属性(如 TotalSize)可能会引发异常。因此,仅读取 Name 和 DriveType 这种基础元数据是比较安全的做法。如果需要更详细的容量信息,建议将读取操作包裹在 try-catch 块中。

总结

通过简单的几行代码,我们就能完整列出操作系统下的所有驱动器及其类型。这对于构建需要检测硬件配置或磁盘状态的应用程序非常有价值。以上就是 C# 获取并遍历系统所有驱动器类型的详细内容,更多关于 C# 系统交互编程的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表