C# ile Dizinler Arası Dosya Kopyalama

Uygulama içerisinde kaynak ve hedef klasörler seçilir. Ardından kopyalanacak dosya türleri ve kaynak dosyaların silinip silinmeyeceği seçilir. Bu parametrelerle kopyalama işlemi gerçekleştirilir.

Not: Uygulamada herhangi bir hata denetimi yapılmadığından koruma altındaki dosyalar kopyalanmak istendiğinde uygulama hata verebilir.

Kaynak Seç isimli butona ait kodlar

folderBrowserDialog1.ShowDialog();
textBox1.Text = folderBrowserDialog1.SelectedPath;

Hedef Seç isimli butona ait kodlar

folderBrowserDialog1.ShowDialog();
textBox2.Text = folderBrowserDialog1.SelectedPath;

Kopyala isimli butona ait kodlar

 progressBar1.Minimum = 0;
            String[ ] dosyalar = Directory.GetFiles(textBox1.Text, "*.*", SearchOption.AllDirectories);
            progressBar1.Maximum = dosyalar.Length;

            //dosyaları kopyalıyoruz.
            for (int i = 0; i < dosyalar.Length; i++)
            {
                if (radioButton2.Checked)
                {
                    if (Path.GetExtension(dosyalar[i]) == ".jpg")
                    {
                        String dosyaadi = Path.GetFileName(dosyalar[i]);//dosyanın dizin hariç adını getir
                        File.Copy(dosyalar[i], textBox2.Text + "\\" + dosyaadi);//dosyayı hedef dizine kopyala
                    }
                }
                if (radioButton1.Checked)
                {
                    if (Path.GetExtension(dosyalar[i]) == ".exe")
                    {
                        String dosyaadi = Path.GetFileName(dosyalar[i]);//dosyanın dizin hariç adını getir
                        File.Copy(dosyalar[i], textBox2.Text + "\\" + dosyaadi);//dosyayı hedef dizine kopyala
                    }
                }
                if (radioButton3.Checked)
                {
                    if (Path.GetExtension(dosyalar[i]) == ".png")
                    {
                        String dosyaadi = Path.GetFileName(dosyalar[i]);//dosyanın dizin hariç adını getir
                        File.Copy(dosyalar[i], textBox2.Text + "\\" + dosyaadi);//dosyayı hedef dizine kopyala
                    }
                }
                if (radioButton4.Checked)
                {                 
                        String dosyaadi = Path.GetFileName(dosyalar[i]);//dosyanın dizin hariç adını getir
                        File.Copy(dosyalar[i], textBox2.Text + "\\" + dosyaadi);//dosyayı hedef dizine kopyala                   
                }
                if(checkBox1.Checked)//kaynak dosya silinsin seçeneği işaretli mi
                {
                    File.Delete(dosyalar[i]);//işaretliyse dosyayı sil
                }
                progressBar1.Value = i+1;//progressbar ın ilerlemesini sağla
            }

Örnek Uygulama

https://github.com/omerozcann/DosyaKopyala

Bir cevap yazın

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