C #을 재귀 복사 폴더와 파일 폴더

공공 부울 CopyOldLabFilesToNewLab (문자열 SOURCEPATH, 문자열 savePath)
{
경우 (Directory.Exists (savePath)!)
{
Directory.CreateDirectory (savePath);
}

# 지역의
시도
{
문자열 [] = labDirs 용의 Directory.GetDirectories (SOURCEPATH) //目录
문자열 [] = labFiles 용의 Directory.GetFiles (SOURCEPATH) //文件
경우 (labFiles.Length> 0)
{
(I = 0을 인터넷 용; I <labFiles.Length; 내가 ++)
{
경우 (Path.GetExtension (labFiles [I]) = ".lab")!
{
File.Copy (SOURCEPATH + "\\"+ Path.GetFileName (labFiles [I]) savePath + "\\"+ Path.GetFileName (labFiles [I])에 해당);
}
}
}
경우 (labDirs.Length> 0)
{
대 (INT의 J = 0; J <labDirs.Length, J ++)
{
Directory.GetDirectories (SOURCEPATH + "\\"+ Path.GetFileName (labDirs [J]));

//递归调用
CopyOldLabFilesToNewLab (SOURCEPATH + "\\"+ Path.GetFileName (labDirs [J]) savePath + "\\"+ Path.GetFileName (labDirs [J]));
}
}
}
캐치 (예외)
{
false를 반환;
}
#endregion
true를 반환;
}

추천

출처www.cnblogs.com/LCLBook/p/10931513.html