ในขณะที่คัดลอกเนื้อหาทั้งหมดของไดเร็กทอรี สิ่งสำคัญคือเราต้องคัดลอกไดเร็กทอรีย่อยและไฟล์ที่เกี่ยวข้อง
ตัวอย่าง
ให้เราพิจารณาไดเร็กทอรีต้นทางสาธิตที่มีไดเร็กทอรีย่อยและไฟล์ดังด้านล่าง
ด้านล่างนี้คือไดเร็กทอรีเป้าหมายการสาธิตซึ่งว่างเปล่าในตอนแรก
using System; using System.IO; namespace DemoApplication { class Program { public static void Main() { string sourceDirectory = @"d:\DemoSourceDirectory"; string targetDirectory = @"d:\DemoTargetDirectory"; DirectoryInfo sourceDircetory = new DirectoryInfo(sourceDirectory); DirectoryInfo targetDircetory = new DirectoryInfo(targetDirectory); CopyAll(sourceDircetory, targetDircetory); Console.ReadLine(); } public static void CopyAll(DirectoryInfo source, DirectoryInfo target) { Directory.CreateDirectory(target.FullName); foreach (FileInfo fi in source.GetFiles()) { Console.WriteLine(@"Copying {0}\{1}", target.FullName, fi.Name); fi.CopyTo(Path.Combine(target.FullName, fi.Name), true); } foreach (DirectoryInfo diSourceSubDir in source.GetDirectories()) { DirectoryInfo nextTargetSubDir = target.CreateSubdirectory(diSourceSubDir.Name); CopyAll(diSourceSubDir, nextTargetSubDir); } } } }
ผลลัพธ์
ผลลัพธ์ของโค้ดด้านบนคือ