파일을 복사하기 위해 C#은 File 메서드를 제공합니다. 복사
파일. 복사에 2개의 오버로드가 있습니다.
복사(문자열, 문자열) - 기존 파일을 새 파일로 복사합니다. 같은 이름의 파일은 덮어쓸 수 없습니다.
복사(문자열, 문자열, 부울) 기존 파일을 새 파일에 복사합니다. 같은 이름의 파일을 덮어쓸 수 있습니다.
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