如何在 C# 中將檔案複製到目錄中?
為了複製檔案,C# 提供一個方法File.Copy
File.Copy 有 2 個過載
Copy(String, String) -將現有檔案複製到新檔案中。不允許覆蓋同名檔案。
Copy(String, String, Boolean) 將現有檔案複製到新檔案中。允許覆蓋同名檔案。
Directory.GetFiles 返回與指定搜尋模式匹配的所有檔案(包括其路徑)的名稱,還可以搜尋子目錄。
示例
static void Main (string[] args) { string rootPath = @"C:\Users\Koushik\Desktop\TestFolder\TestFolderMain1"; var searchSourceFolder = Directory.GetFiles(rootPath, "*.*", SearchOption.TopDirectoryOnly); Console.WriteLine("-------------Source Folder-------------"); foreach (string file in searchSourceFolder){ Console.WriteLine(file); } string destinationFolder = @"C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\"; var destinationFolderFiles = Directory.GetFiles(destinationFolder, "*.*", SearchOption.TopDirectoryOnly); Console.WriteLine("-------------Destination Folder Before Copying-------------"); foreach (string file in destinationFolderFiles){ Console.WriteLine(file); } string[] files = Directory.GetFiles(rootPath); foreach (string file in files){ File.Copy(file, $"{destinationFolder}{ Path.GetFileName(file) }"); } Console.WriteLine("-------------After Copying-------------"); var destinationFolderAfterCopyingFiles = Directory.GetFiles(destinationFolder, "*.*", SearchOption.TopDirectoryOnly); foreach (string file in destinationFolderAfterCopyingFiles){ Console.WriteLine(file); } Console.ReadLine (); }
輸出
-------------Source Folder------------- C:\Users\Koushik\Desktop\TestFolder\TestFolderMain1\TestFolderMain1.txt -------------Destination Folder Before Copying------------- C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMain2.txt -------------After Copying------------- C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMain1.txt C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMain2.txt
廣告