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
{
}
}
}
}
}
}
}