Dateien und Streams: Laufwerksinformationen

LaufwerksinformationenUm Informationen über ein Laufwerk bzw. alle Laufwerke eines Computers zu erhalten, gibt es die Klasse DriveInfo. Über die statische Funktion GetDrives() erhalten Sie ein Array von DriveInfo-Objekten. Über einige Objekteigenschaften können nun Informationen über dieses Laufwerk abgerufen werden.
Über die Eigenschaft Name erhalten Sie den Laufwerksbuchstaben. Die Eigenschaft DriveType gibt den Typ des Laufwerks zurück: also CD-/DVD-Laufwerk, Festplatte, Wechseldatenträger oder Netzlaufwerk. Diese verschiedenen Typen sind in der Enumeration DriveType deklariert.
Die Klasse enthält noch einige weitere Eigenschaften, die jedoch nur dann abgerufen werden dürfen, wenn das Laufwerk bereits ist. Diese Eigenschaften werden wir in diesem Abschnitt genauer erläutern. Der Wert, ob das Laufwerk bereit ist, kann über die Eigenschaft IsReady abgerufen werden. Die Eigenschaft VolumeLabel gibt den Namen des Laufwerks zurück. Über die Eigenschaft AvailableFreeSpace, TotalFreeSpace und TotalSize kann die Größe des Laufwerks abgerufen werden. Die Eigenschaft AvailableFreeSpace gibt den tatsächlich verfügbaren Speicherplatz für den Benutzer zurück, wohingegen TotalFreeSpace den verfügbaren Speicherplatz des Laufwerks zurückgibt (Größe des Laufwerks - Größe des belegten Speichers). Bei diesen Werten handelt es sich um den Datentyp long. Die DriveFormat-Eigenschaft gibt die Formatierung des Laufwerks als Zeichenkette zurück (also FAT32, NTFS, etc.).
Um Informationen eines einzelnen Laufwerks abzurufen, kann dem Konstruktor der Klasse DriveInfo als Parameter die Zeichenkette eines Laufwerksbuchstaben gefolgt von einem Doppelpunkt übergeben werden.

Program.cs

// Alle Laufwerke laden
DriveInfo[] aDrives = DriveInfo.GetDrives();

// Alle Laufwerke durcharbeiten
foreach (DriveInfo oDrive in aDrives)
{
	Console.WriteLine("Laufwerksbuchstabe: " + oDrive.Name);
	// Typ des Laufwerkes bestimmen
	switch (oDrive.DriveType)
	{
		case DriveType.CDRom:
			Console.WriteLine("Art: CD-Laufwerk");
			break;
		case DriveType.Fixed:
			Console.WriteLine("Art: Festplatte");
			break;
		case DriveType.Removable:
			Console.WriteLine("Art: Wechseldatenträger");
			break;
		case DriveType.Network:
			Console.WriteLine("Art: Netzlaufwerk");
			break;
		default:
			Console.WriteLine("Art: Unbekannt");
			break;
	}
	// Einige Informationen dürfen nur abgerufen werden, wenn das Laufwerk bereit ist
	if (oDrive.IsReady)
	{
		Console.WriteLine("Name: " + oDrive.VolumeLabel);
		Console.WriteLine("Formatierung: " + oDrive.DriveFormat);
		Console.WriteLine("freier verfügbarer Speicher: " + oDrive.AvailableFreeSpace);
		Console.WriteLine("freie Größe: " + oDrive.TotalFreeSpace);
		Console.WriteLine("Gesamtgröße: " + oDrive.TotalSize);
	}

	Console.WriteLine();
}

Console.ReadKey();
Download

LinksRechts