程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> C# 拷貝指定文件夾下的所有文件及其文件夾到指定目錄,

C# 拷貝指定文件夾下的所有文件及其文件夾到指定目錄,

編輯:關於.NET

C# 拷貝指定文件夾下的所有文件及其文件夾到指定目錄,


要拷貝的文件及其文件夾結構

其中.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;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved