您的位置:首页 > 编程语言 > C#

C#递归复制文件夹

2015-07-09 23:10 537 查看
/// <param name="sources">原路徑</param>
/// <param name="dest">目標路徑</param>
private void CopyFile(string sources, string dest)
{
if (Directory.Exists(sources))
{
DirectoryInfo dinfo = new DirectoryInfo(sources);//   傳的是文件路徑,所以不能包含後綴名
foreach (FileSystemInfo f in dinfo.GetFileSystemInfos())
{
//  目標路徑destName = 目標文件夾路徑 + 原文件夾下的子路徑(或文件夾)名字
String destName = Path.Combine(dest, f.Name);
if (f is FileInfo)//    如果是文件就复制
{
System.IO.File.Copy(f.FullName, destName, true);//  true代表可以覆盖同名文件
}
else//  如果是文件夾就創建文件夾然后复制然后递归复制
{
if (!Directory.Exists(destName))
{
Directory.CreateDirectory(destName);
}
CopyFile(f.FullName, destName);//   遞歸調用
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: