方法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
测试结果: