在涉及到文件夾操作的過程中,有時候需要將文件夾下的所有內容複製拷貝到另一個文件夾,在C#的開發中有時候會遇到這個功能需求將指定文件夾下所有的內容複製到另一個文件夾,這個過程需要遍歷所有的文件和目錄。此過程中還涉及到使用Directory.CreateDirectory方法創建文件夾,File.Cop ...
在涉及到文件夾操作的過程中,有時候需要將文件夾下的所有內容複製拷貝到另一個文件夾,在C#的開發中有時候會遇到這個功能需求將指定文件夾下所有的內容複製到另一個文件夾,這個過程需要遍歷所有的文件和目錄。此過程中還涉及到使用Directory.CreateDirectory方法創建文件夾,File.Copy方法來複制文件等操作。具體的方法實現如下所示:
/// <summary> /// 指定文件夾下麵的所有內容copy到目標文件夾下麵 /// </summary> /// <param name="srcPath">原始路徑</param> /// <param name="aimPath">目標文件夾</param> public static void CopyDir(string srcPath, string aimPath) { try { // 檢查目標目錄是否以目錄分割字元結束如果不是則添加之 if (aimPath[aimPath.Length - 1] != Path.DirectorySeparatorChar) aimPath += Path.DirectorySeparatorChar; // 判斷目標目錄是否存在如果不存在則新建之 if (!Directory.Exists(aimPath)) Directory.CreateDirectory(aimPath); // 得到源目錄的文件列表,該裡面是包含文件以及目錄路徑的一個數組 //如果你指向copy目標文件下麵的文件而不包含目錄請使用下麵的方法 //string[] fileList = Directory.GetFiles(srcPath); string[] fileList = Directory.GetFileSystemEntries(srcPath); //遍歷所有的文件和目錄 foreach (string file in fileList) { //先當作目錄處理如果存在這個目錄就遞歸Copy該目錄下麵的文件 if (Directory.Exists(file)) CopyDir(file, aimPath + Path.GetFileName(file)); //否則直接Copy文件 else File.Copy(file, aimPath + Path.GetFileName(file), true); } } catch (Exception ee) { throw new Exception(ee.ToString()); } }
備註:更多乾貨關註博主站點IT技術小趣屋。原文轉載自C#指定文件夾下麵的所有內容複製到目標文件夾下麵_IT技術小趣屋。