C# ile klasör içindeki tüm dosyalar nasıl silinir?

0

Merhaba,

C#'da klasör içindeki dosyaları silmek istiyorum. Yapmak istediğim şey butona tıklanınca C:\Users\username\AppData\Local\Temp klasörünün içindekileri temizlemek. Bir nevi CCleaner benzeri bir program oluyor. İnternetteki kodları denedim ancak çalışmadı. Bunu nasıl yapabilirim?

@alattin

toprak34 toprak34 (2031)
6 yıl önce sordu

    Toplam 1 Cevap


    0

    Bir klasörün içindeki tüm dosyaları C# ile şu şekilde silebilirsin:

    System.IO.DirectoryInfo klasor = new DirectoryInfo(@"C:\Temp");
    
    foreach (FileInfo dosya in klasor.GetFiles())
    {
        dosya.Delete(); 
    }
    foreach (DirectoryInfo k in klasor.GetDirectories())
    {
        k.Delete(true); 
    }

    Önce klasör içindeki dosyaları sonra da klasör içindeki diğer dizinleri silmen gerekir.

    C# ile Temp klasörü nasıl temizlenir?

    Aşağıdaki C# ile Windows temp klasörünü temizyebilirsiniz:

     MessageBox.Show(Path.GetTempPath() + " klasörü temizleniyor");
                System.IO.DirectoryInfo klasor = new DirectoryInfo(Path.GetTempPath());
    
                foreach (FileInfo dosya in klasor.GetFiles())
                {
                    try
                    {
                        dosya.Delete();
                    }
                    catch (Exception)
                    {
    
    
                    }
    
                }
                foreach (DirectoryInfo k in klasor.GetDirectories())
                {
                    try
                    {
                        k.Delete(true);
                    }
                    catch (Exception)
                    {
    
    
                    }
    
                }
                MessageBox.Show(Path.GetTempPath() + " klasörü temizlendi.");
            }

    Bu kod içinde yeralan

    Path.GetTempPath()

    Metodu Temp klasörünün yolunu verir. Kullanımda olan dosyalar hata vereceğinden ve silinemeyeceğinden dolayı try- catch blokları hatalardan kodumuzu koruyacaktır.

     

    alattin alattin (17125)
    6 yıl önce cevaplandı

    • @alattin ("C:\Temp") yazan yerde hata veriyor. Ters \ 'ı kabul etmiyor sanırım \'ın altında kırmızı çizgi var. Hata: Unrecognized escape sequence toprak34 6 yıl önce
    • Çift \ koyarsan sorun düzelir, unutmuşum. Kodu düzelttim @toprak34 alattin 6 yıl önce
    • Veya alternatif olarak şöyle yazabilirsin @"C:\Temp" alattin 6 yıl önce
    • @alattin abi böyle bi hata verdi, http://i.hizliresim.com/Ygnjy6.png toprak34 6 yıl önce
    • C:\Temp klasörün var mı ben onu örnek olarak yazmıştım, sen kendine göre hangi klasörü sildirmek istiyorsan onu ayarla @toprak34 alattin 6 yıl önce
    • @toprak34 tam kodu yazdım sana alattin 6 yıl önce
    • @alattin Çok teşekkürler abi oldu :) toprak34 6 yıl önce
    • ne demek Çekirge :) @toprak34 alattin 6 yıl önce
    • @alattin :) toprak34 6 yıl önce
    • @alattin abi bir de geçmişi otomatik temizleyebiliyormuyuz C#'ta? Tarayıcı geçmişi vs. Programa bunu da eklemeyi düşünüyorum toprak34 6 yıl önce
    • C# da bunu otomatik yapamazsın, ama tarayıcıların kendine has temizlik rutinleri vardır. Bunu araştırarak C# ile uygulatabilirsin. Firefox, Chrome vb. her tarayıcıda bu farklı olabilir @toprak34 alattin 6 yıl önce
    • @alattin bu kod chrome cookilerini siler mi? string ChromeDir=@"C:\Users\{0}\AppData\Local\Google\Chrome\User Data"; string yol = string.Format(ChromeDir, Environment.UserName); if (Directory.Exists(yol)) { foreach (string dosyaYolu in Directory.GetFiles(yol)) File.Delete(dosyaYolu); } toprak34 6 yıl önce
    • @toprak34 bunları ayrı soru olarak sorarsan daha iyi olur. Yorum bölümünde hoş görünmüyor alattin 6 yıl önce
    • Aynı Koda ChexBox Seçili İse Nasıl Ekleyebilirim? Yani Chexbox Seçili ise Butona Basıldığında Silsin Seçili Değilse Silmesin ? CheckBox1.Checked = true özelliğini kullanmak istiyorum csharp 1 yıl önce
    üyelik gerektirir

    Cevap yazabilmek için üye girişi yapmalısınız.

    Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
    uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol