Как определить, является ли какой-либо конкретный диск жестким диском? - PullRequest
12 голосов
/ 29 сентября 2008

В C # как вы определяете, является ли конкретный диск жестким диском, сетевым диском, CDRom или дискетой?

Ответы [ 3 ]

18 голосов
/ 29 сентября 2008

Метод GetDrives () возвращает класс DriveInfo со свойством DriveType, которое соответствует перечислению 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.   
}

Вот немного скорректированный пример из MSDN, который отображает информацию для всех дисков:

    DriveInfo[] allDrives = DriveInfo.GetDrives();
    foreach (DriveInfo d in allDrives)
    {
        Console.WriteLine("Drive {0}, Type {1}", d.Name, d.DriveType);
    }
4 голосов
/ 29 сентября 2008

DriveInfo.DriveType должно работать для вас.

DriveInfo[] allDrives = DriveInfo.GetDrives();

foreach (DriveInfo d in allDrives)
{
    Console.WriteLine("Drive {0}", d.Name);
    Console.WriteLine("  File type: {0}", d.DriveType);
}
3 голосов
/ 29 сентября 2008

Проверка System.IO.DriveInfo Класс и свойство DriveType.

...