文件夹复制

/// <summary>
/// 复制文件夹
/// </summary>
/// <param name="SourcePath">源路径</param>
/// <param name="DestinationPath">目标路径</param>
/// <param name="overwriteexisting">是否覆盖现有</param>
/// <returns></returns>
private static bool CopyDirectory(string SourcePath, string DestinationPath, bool overwriteexisting)
{
bool ret = false;
try
{
SourcePath = SourcePath.EndsWith(@"") ? SourcePath : SourcePath + @"";
DestinationPath = DestinationPath.EndsWith(@"") ? DestinationPath : DestinationPath + @"";

if (Directory.Exists(SourcePath))
{
if (Directory.Exists(DestinationPath) == false)
Directory.CreateDirectory(DestinationPath);

foreach (string fls in Directory.GetFiles(SourcePath))
{
FileInfo flinfo = new FileInfo(fls);
flinfo.CopyTo(DestinationPath + flinfo.Name, overwriteexisting);
}
foreach (string drs in Directory.GetDirectories(SourcePath))
{
DirectoryInfo drinfo = new DirectoryInfo(drs);
if (CopyDirectory(drs, DestinationPath + drinfo.Name, overwriteexisting) == false)
ret = false;
}
}
ret = true;
}
catch (Exception ex)
{
ret = false;
}
return ret;
}

原文地址:https://www.cnblogs.com/wgj-blog/p/12658447.html