c# ta alt klasörlerdeki dosyaları ayıklama

Değerli arkadaslar bir ve onun altındaki klasörlerin içindeki dosyaları ayıklamak silmek yada baska bir yere aktarmak için c# kullanabilirsiniz. örnek olarak bir yılın altında ki aylar ve onun altındaki günlere dağılan klasör içindeki resim ve dosyalarındaki orjinal dosyaları ayıklayıp baska klasöre atmayı örnek olarak göstereceğim

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace resimayiklama
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog fBrowser = new FolderBrowserDialog();

            fBrowser.ShowDialog();

            string secilenDizin = fBrowser.SelectedPath;

            textBox1.Text = secilenDizin;

            DizinIceriginiListeyeEkle(secilenDizin);

        }

        private void DizinIceriginiListeyeEkle(string dizin)

        {

            string[] dizindekiKlasorler = Directory.GetDirectories(dizin);


            foreach (string klasor in dizindekiKlasorler)

            {


                DirectoryInfo dirInfo = new DirectoryInfo(klasor);

                string klasorAdi = dirInfo.Name;

                DateTime olsTarihi = dirInfo.CreationTime;



                ListViewItem item = new ListViewItem(klasorAdi);

                item.SubItems.Add("Klasör");

                item.SubItems.Add("");

                item.SubItems.Add(olsTarihi.ToString("dd.MM.yyyy HH:mm"));



                listView1.Items.Add(item + "Kalasörü Atıldı");


            }
            int toplamD = 0;

            for (int b = 0; b < dizindekiKlasorler.Length; b++)
            {
                string[] als = Directory.GetDirectories(dizindekiKlasorler[b]);

                foreach (var item in als)
                {



                    string[] dizindekiDosyalar = Directory.GetFiles(item);

                    progressBar1.Maximum = dizindekiDosyalar.Length;

                    var i = 0;
                    foreach (string dosya in dizindekiDosyalar)


                    {
                        progressBar1.Value = i++;

                        bool kontrol = dosya.Contains("_");
                        if (kontrol == false)
                        {
                            toplamD++;
                            string dosyam = "c:\\haber_gorsel_yeni\\" + Path.GetFileName(dosya);
                            System.IO.File.Copy(dosya, dosyam);
                            label1.Text = "Toplam Ayıklanan Dosya: " + toplamD.ToString();

                        }
                        else
                        {


                        }


                    }

                }


            }

        }

    }
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir