C# ile bilgisayarınızdaki diskleri listelemek
.Net 2.0 ile birlikte System.IO namespace’inde bulunan birçok eksiklik giderilmiştir. Özellikle Windows’un Dosya Sistemine erişmek için yeni sınıflar ve methodlar eklenmiştir.
DriveInfo sınıfında yapılan bir geliştirme sayesinde sistemde kurulu disklere erişebilir, disklerin tiplerini sorgulayabilir, kapasitelerini ve boş alan miktarını öğrenebiliriz.
Örneğin, sistemdeki diskleri listelemek için;
DriveInfo[] diskler = DriveInfo.GetDrives();
foreach (DriveInfo disk in diskler)
{
string diskAdi = disk.IsReady ? String.Format(" - {0}", disk.VolumeLabel) : null;
Console.WriteLine( "{0} - {1}{2}", disk.Name, disk.DriveType, diskAdi);
}
C:\ – Fixed – Sistem
D:\ – Fixed – Dosyalar
E:\ – CDRom
F:\ – CDRom
G:\ – Removable
H:\ – Removable
T:\ – Fixed – Temp
Y:\ – Fixed – Yedekler
IsReady property’si sayesinde disk’in o anda sistemde kullanılabilir olup olmadığını kontrol ediyoruz. Örneğin, içinde CD olmayan CD okuyucu için, disk’in etiketini almaya çalışmıyoruz. Uygulamamızın hata ile karşılaşmaması için, bu dikkat etmemiz gereken bir nokta.
Name ve DriveType özellikleri, diskin hazır olduğu durumlardan bağımsız olarak, her zaman kullanılabilir durumdadır.
İlgili diğer başlıklar:
- C# Diskteki Boş Alan Miktarını Bulmak
- SQL Server’da o an çalışan sorguları listelemek
- Kısa Sınav – 5
- C# İsimsiz Tipler – Anonymous Types
- C# method overload nedir?
- C# string sınıfı ve özellikleri
- Bu kodda ne yanlış var? – 7
- C# String’i Title Case’e (Kelimelerin Baş Harfleri Büyük Gerisi Küçük) Çevirme
- C# String Dizisini String Uzunluğuna Göre Sıralama
- Dizi oluşturma ve sıralama
Bilgilendirmenizden dolayı teşekkür ediyorum. Amacım sistemin hangi disk olduğunu öğrenip, sistemin içerisindeki font klasorune kopyalama yapmak… Bununla ilgili bilgi verirseniz çok makbule geçer. Kolay gelsin.