How to detect if any specific drive is a hard drive?

后端 未结 3 1759
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-05 19:41

In C# how do you detect is a specific drive is a Hard Drive, Network Drive, CDRom, or floppy?

相关标签:
3条回答
  • 2020-12-05 20:19

    The method GetDrives() returns a DriveInfo class which has a property DriveType that corresponds to the enumeration of System.IO.DriveType:

    public enum DriveType
    {
        Unknown,         // The type of drive is unknown.  
        NoRootDirectory, // The drive does not have a root directory.  
        Removable,       // The drive is a removable storage device, 
                         //    such as a floppy disk drive or a USB flash drive.  
        Fixed,           // The drive is a fixed disk.  
        Network,         // The drive is a network drive.  
        CDRom,           // The drive is an optical disc device, such as a CD 
                         // or DVD-ROM.  
        Ram              // The drive is a RAM disk.   
    }
    

    Here is a slightly adjusted example from MSDN that displays information for all drives:

        DriveInfo[] allDrives = DriveInfo.GetDrives();
        foreach (DriveInfo d in allDrives)
        {
            Console.WriteLine("Drive {0}, Type {1}", d.Name, d.DriveType);
        }
    
    0 讨论(0)
  • 2020-12-05 20:20

    DriveInfo.DriveType should work for you.

    DriveInfo[] allDrives = DriveInfo.GetDrives();
    
    foreach (DriveInfo d in allDrives)
    {
        Console.WriteLine("Drive {0}", d.Name);
        Console.WriteLine("  File type: {0}", d.DriveType);
    }
    
    0 讨论(0)
  • 2020-12-05 20:27

    Check System.IO.DriveInfo class and DriveType property.

    0 讨论(0)
提交回复
热议问题