C#拷貝文件夾及文件

字號:


    private void CopyDir(string srcPath, string aimPath)
    {
    try
    {
    // 檢查目標(biāo)目錄是否以目錄分割字符結(jié)束如果不是則添加
    if (aimPath[aimPath.Length - 1] != System.IO.Path.DirectorySeparatorChar)
    {
    aimPath += System.IO.Path.DirectorySeparatorChar;
    }
    // 判斷目標(biāo)目錄是否存在如果不存在則新建
    if (!System.IO.Directory.Exists(aimPath))
    {
    System.IO.Directory.CreateDirectory(aimPath);
    }
    // 得到源目錄的文件列表,該里面是包含文件以及目錄路徑的一個數(shù)組
    // 如果你指向copy目標(biāo)文件下面的文件而不包含目錄請使用下面的方法
    // string[] fileList = Directory.GetFiles(srcPath);
    string[] fileList = System.IO.Directory.GetFileSystemEntries(srcPath);
    // 遍歷所有的文件和目錄
    foreach (string file in fileList)
    {
    // 先當(dāng)作目錄處理如果存在這個目錄就遞歸Copy該目錄下面的文件
    if (System.IO.Directory.Exists(file))
    {
    CopyDir(file, aimPath + System.IO.Path.GetFileName(file));
    }
    // 否則直接Copy文件
    else
    {
    System.IO.File.Copy(file, aimPath + System.IO.Path.GetFileName(file), true);
    }
    }
    }
    catch (Exception e)
    {
    throw;
    }
    }