-3
확장자가 .zzz 인 모든 파일을 찾은 다음 해당 파일의 상위 폴더 (모든 내용 포함)를 대상 디렉토리에 복사하고 싶습니다. 아래 코드는 작동하지만 하위 수준의 첫 번째 수준 만 복사합니다.모든 파일과 디렉토리를 반복적으로 복사
private void btn_submit_Click(object sender, EventArgs e)
{
string srcFolder = txt_src.Text;
string destFolder = txt_dest.Text;
foreach (string zzz in Directory.GetFiles(srcFolder, "*.zzz", SearchOption.AllDirectories))
{
string modulePath = Directory.GetParent(zzz).FullName;
string moduleName = Directory.GetParent(zzz).Name;
Directory.CreateDirectory(destFolder + "\\" + moduleName);
foreach (string subFolders in Directory.GetDirectories(modulePath, "*", SearchOption.AllDirectories))
{
Directory.CreateDirectory(subFolders.Replace(modulePath, destFolder + "\\" + moduleName));
}
foreach (string allFiles in Directory.GetFiles(modulePath, "*.*", SearchOption.AllDirectories))
{
File.Copy(allFiles, allFiles.Replace(modulePath, destFolder + "\\" + moduleName), true);
}
}
}
너무 많은이 온라인의 예뿐만 아니라 여기 SO''에 등이'SO posting' http://stackoverflow.com/questions/10389701/how-to-create-a에서 살펴보고있다 - 재귀 함수 - 모두 - 파일 및 폴더 복사 [MSDN 참조 CopyDirectory] (http://msdn.microsoft.com/en-us/library/bb762914.aspx) – MethodMan
File.CopyTo (매개 변수 1, 매개 변수 2) <- 힌트 : 두 번째 것은 재귀 적입니다. – Greg
이 질문은 주어진 디렉토리의 모든 파일을 나열하는 재귀 함수의 좋은 예입니다. 그것을 가지고 그것을 실행하십시오 : http://stackoverflow.com/questions/929276/how-to-recursively-list-all-the-files-in-a-directory-in-c – tnw