C#获取磁盘列表与信息

方法1:使用Environment

//获取当前计算机逻辑磁盘名称列表
String[] drives = Environment.GetLogicalDrives();
Console.WriteLine("GetLogicalDrives: {0}", String.Join(", ", drives));

方法2:使用DriveInfo可以获取比较详细信息

1.命名空间

using System.IO;

2.获取代码

复制代码
/// <summary>
/// 测试磁盘信息
/// </summary>
static void TestDriveInfo()
{
    DriveInfo[] allDirves = DriveInfo.GetDrives();
    //检索计算机上的所有逻辑驱动器名称
    foreach (DriveInfo item in allDirves)
    {
        //Fixed 硬盘
        //Removable 可移动存储设备,如软盘驱动器或USB闪存驱动器。
        Console.Write(item.Name + "---" + item.DriveType);
        if (item.IsReady)
        {
            Console.Write(",容量:"+item.TotalSize+",可用空间大小:"+item.TotalFreeSpace);
        }
        else {
            Console.Write("没有就绪");
        }
        Console.WriteLine();
    }
}
复制代码

注意:IsReady---//磁盘必须准备好,否则读到光驱就为准备就绪而出错

字段说明:

Name : 盘符 ,例如:"C:\"
TotalFreeSpace: 返回磁盘可用空间,返回值类型long。
DriveType : 磁盘类型 返回值如下:CDRom(光驱)、Fixed(固定磁盘)、Unknown(未知磁盘)、Network(网络磁盘)、NoRootDirectory(盘符不存在)、Ram(虚拟磁盘)、Removable(可移动磁盘)。
IsReady : 获取一个指示驱动器是否已准备好的值 返回bool类型。
RootDirectory : 获取驱动器根目录。
TotalSize : 空间总大小。
VolumeLabel : 获取驱动器卷标,返回string类型。
DriveFormat : 获取文件系统的名称,例如 NTFS 或 FAT32

测试结果:

 

posted @   天马3798  阅读(17384)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示