zoukankan      html  css  js  c++  java
  • C# 拷贝指定文件夹下的所有文件及其文件夹到指定目录

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

    其中.lab文件不能覆盖

    /// <summary>
    /// 拷贝oldlab的文件到newlab下面
    /// </summary>
    /// <param name="sourcePath">lab文件所在目录(@"~labsoldlab")</param>
    /// <param name="savePath">保存的目标目录(@"~labs
    ewlab")</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.GetExtension(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;
    }
  • 相关阅读:
    重建二叉树
    字符串移位包含的问题
    整数的逆序存储
    容器的综合应用:文本查询程序(摘自C++ Primer)
    vsprintf 变参函数可以用
    常用项目依赖(前端)
    eslint一些常见配置
    Jscrpit中的原型对象
    html网页自适应手机屏幕大小
    A Bit of Fun
  • 原文地址:https://www.cnblogs.com/zhyue93/p/FileCopy.html
Copyright © 2011-2022 走看看