C# Klasör İçindeki Klasörleri Listeleme

C# Klasör İçindeki Klasörleri Listeleme

C# Klasör İçindeki Klasörleri Listeleme

  2 dakika Okuma Süresi
Merhabalar, C# derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde bi klasör içindeki tüm klasörleri bulmayı anlatacağım. Öncelikle masaüstünde deneme adında bi klasör olduğunu varsayalım, tüm dersimizi bu klasör üzerinden anlatacağım ve bu klasörün yolunu da bi değişkene atayalım. Yani;
string klasor = "c:/users/kullanici/desktop/deneme";

Bi klasör içindeki klasörleri bulmak için System.IO kütüphanesi altında bulunan Directory sınıfından faydalanacağız. Kullanacağımız fonksiyon ise static tipte olan yani bulunduğu sınıfın yeni bir nesnesi türetilmeden doğrudan erişilebilen GetDirectories() fonksiyonu olacak.
Bu fonksiyon string tipte klasör yolu, string tipte filtrelenecek uzantı ve alt klasörlere bakılıp bakılmayacağını belirten SearchOptions tipinde olmak üzere 3 parametre alıyor.
Klasörlerin uzantısı olmadığı için filtreleme uzantısı tüm uzantılar anlamına gelen *.* olacaktır. Ayrıca SearchOptions ise sadece ana klasöre bakılsın anlamına gelen TopDirectoryOnly ve alt dizinlere de bakılsın anlamına gelen AllDirectories seçenekleri sunuyor.
Bu fonksiyon geriye string dizisi döndürüyor. Yani bulduğu tüm klasörlerin yolunu dizinin bir elemanı olacak şekilde atama yaptıktan sonra diziyi bize geri döndürüyor.
Sonrasında bu dizi ile istediğimiz işlemleri yapabiliriz.

Şimdi öncelikle masaüstünde bulunan ve daha önce klasor adındaki bi değişkene atadığımız deneme klasörü ve altındaki klasörlere de bakarak bulunan tüm klasörleri getirelim.
Bunun için
string[] klasorler = Directory.GetDirectories(klasor, "*.*", SearchOptions.AllDirectories);
kod satırını kullanmalıyız.
Sadece deneme klasörüne bakılsın, onun içindeki klasörlere bakılmasın istersekde;
string[] dizi = Directory.GetDirectories(klasor, "*.*", SearchOptions.TopDirectoryOnly);
kod satırını kullanmamız gerekmektedir.
Az önce de bahsettiğim gibi bize string dizisi döndüğü için fonksiyondan gelen cevabı string dizisine atama yaptık.

Evet bu dersimizde bu kadardı. Diğer C# ile klasör işlemleri için buraya, Tüm C# derslerimiz için ise buraya tıklayabilirsiniz.
Herkese hayırlı günler.


  • İçeriği Paylaş:

İÇERİĞİ DEĞERLENDİR

Toplam Değerlendirme Sayısı: 0
Toplam Değerlendirme: 0 / 5

Cevap Yaz