Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

จะคัดลอกไฟล์ไปยังไดเร็กทอรีใน C # ได้อย่างไร?


ในการคัดลอกไฟล์ C# มีวิธีการ ไฟล์ คัดลอก

ไฟล์. การคัดลอกมี 2 โอเวอร์โหลด

คัดลอก (สตริง สตริง) - คัดลอกไฟล์ที่มีอยู่ไปยังไฟล์ใหม่ ไม่อนุญาตให้เขียนทับไฟล์ที่มีชื่อเดียวกัน

คัดลอก (สตริง สตริง บูลีน) คัดลอกไฟล์ที่มีอยู่ไปยังไฟล์ใหม่ อนุญาตให้เขียนทับไฟล์ที่มีชื่อเดียวกันได้

Directory.GetFiles ส่งคืนชื่อไฟล์ทั้งหมด (รวมถึงเส้นทางของไฟล์) ที่ตรงกับรูปแบบการค้นหาที่ระบุ และค้นหาไดเรกทอรีย่อยด้วยหรือไม่ก็ได้

ตัวอย่าง

โมฆะคงที่ Main (สตริง [] args) { string rootPath =@"C:\Users\Koushik\Desktop\TestFolder\TestFolderMain1"; var searchSourceFolder =Directory.GetFiles(rootPath, "*.*", SearchOption.TopDirectoryOnly); Console.WriteLine("-------------โฟลเดอร์ต้นทาง-------------"); foreach (ไฟล์สตริงใน searchSourceFolder) { Console.WriteLine (ไฟล์); } สตริงปลายทางโฟลเดอร์ =@"C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\"; var destinationFolderFiles =Directory.GetFiles(destinationFolder, "*.*", SearchOption.TopDirectoryOnly); Console.WriteLine("-------------โฟลเดอร์ปลายทางก่อนที่จะคัดลอก-------------"); foreach (ไฟล์สตริงใน destinationFolderFiles) { Console.WriteLine (ไฟล์); } ไฟล์สตริง[] =Directory.GetFiles (rootPath); foreach (ไฟล์สตริงในไฟล์){ File.Copy(ไฟล์, $"{destinationFolder}{ Path.GetFileName(file) }"); } Console.WriteLine("-------------หลังจากคัดลอก-------------"); var destinationFolderAfterCopyingFiles =Directory.GetFiles(destinationFolder, "*.*", SearchOption.TopDirectoryOnly); foreach (ไฟล์สตริงใน destinationFolderAfterCopyingFiles) { Console.WriteLine (ไฟล์); } Console.ReadLine ();}

ผลลัพธ์

<ก่อนหน้า>-------------โฟลเดอร์ต้นทาง------------- C:\Users\Koushik\Desktop\TestFolder\TestFolderMain1\TestFolderMain1.txt--- ---------- โฟลเดอร์ปลายทางก่อนคัดลอก ------------- C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMain2.txt ------- ------หลังจากคัดลอก-------------C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMain1.txtC:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMain2 .txt