Bu yazımda bir klasörü alt klasörler ve dosyalarla birlikte nasıl kopyalanacağını anlatacağım.
Öncelikle bu iş için C# tarafında basit bir yöntem ne yazıkki yoktur. Bunun için sizinle bir metot paylaşacağım.
class Program { static void Main(string[] args) { string kaynakDizin = @"C:\Kaynak"; string hedefDizin = @"C:\Hedef"; Copy(kaynakDizin, hedefDizin); Console.WriteLine("Bitti.."); Console.ReadKey(); } public static void Copy(string kaynakDizin, string hedefDizin) { var diKaynak = new DirectoryInfo(kaynakDizin); var diHedef = new DirectoryInfo(hedefDizin); CopyAll(diKaynak, diHedef); } public static void CopyAll(DirectoryInfo kaynak, DirectoryInfo hedef) { Directory.CreateDirectory(hedef.FullName); //Dosyaları Yeni Dizine Kopyalıyoruz. foreach (FileInfo fi in kaynak.GetFiles()) { Console.WriteLine(@"Kopyalanan : {0} \ {1}", hedef.FullName, fi.Name); fi.CopyTo(Path.Combine(hedef.FullName, fi.Name), true); } //Özyineli (recursive) Fonksiyon Kullanarak Alt Dizinleri Kopyalıyoruz. foreach (DirectoryInfo diKaynakAltDizin in kaynak.GetDirectories()) { DirectoryInfo sonrakiHedefAltDizin = hedef.CreateSubdirectory(diKaynakAltDizin.Name); CopyAll(diKaynakAltDizin, sonrakiHedefAltDizin); } } }
Paylaşmış olduğum metot zaten çok basit ve anlaşılır şekilde. Anlamadığınız veya takıldığınız yerler olursa yorumlarda sorunuzu sorabilirsiniz.
Bir yanıt yazın