파일을 복사하기 위해 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