C# 拷贝指定文件夹下的所有文件及其文件夹到指定…

2018-06-17 22:28:14来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

要拷贝的文件及其文件夹结构

其中.lab文件不能覆盖

/// <summary>
/// 拷贝oldlab的文件到newlab下面
/// </summary>
/// <param name="sourcePath">lab文件所在目录(@"~\labs\oldlab")</param>
/// <param name="savePath">保存的目标目录(@"~\labs\newlab")</param>
/// <returns>返回:true-拷贝成功;false:拷贝失败</returns>
public bool CopyOldLabFilesToNewLab(string sourcePath, string savePath)
{
    if (!Directory.Exists(savePath))
    {
        Directory.CreateDirectory(savePath);
    }

    #region //拷贝labs文件夹到savePath下
    try
    {
        string[] labDirs = Directory.GetDirectories(sourcePath);//目录
        string[] labFiles = Directory.GetFiles(sourcePath);//文件
        if (labFiles.Length > 0)
        {
            for (int i = 0; i < labFiles.Length; i++)
            {
                if (Path.GetFileName(labFiles[i]) != ".lab")//排除.lab文件
                {
                    File.Copy(sourcePath + "\\" + Path.GetFileName(labFiles[i]), savePath + "\\" + Path.GetFileName(labFiles[i]), true);
                }
            }
        }
        if (labDirs.Length > 0)
        {
            for (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]));
            }
        }
    }
    catch (Exception)
    {
        return false;
    }
    #endregion
    return true;
}

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:百度EChart3初体验

下一篇:VS2015调试时没有启动IIS Express Web服务器 或者停止调试时 IIS