如:我想將 C:\abc檔案夾複製到 D:\ 下面怎麼辦呀?
using System.IO;
/// <summary> /// 拷貝檔案夾 /// </summary> /// <param name="srcdir"></param> /// <param name="desdir"></param> private void CopyDirectory(string srcdir, string desdir) { string folderName = srcdir.Substring(srcdir.LastIndexOf("\\")+1); string desfolderdir = desdir +"\\"+ folderName; if (desdir.LastIndexOf("\\") == (desdir.Length - 1)) { desfolderdir = desdir + folderName; } string[] filenames = Directory.GetFileSystemEntries(srcdir); foreach (string file in filenames)// 遍曆所有的檔案和目錄 { if (Directory.Exists(file))// 先當作目錄處理如果存在這個目錄就遞迴Copy該目錄下面的檔案 { string currentdir = desfolderdir + "\\" + file.Substring(file.LastIndexOf("\\") + 1); if (!Directory.Exists(currentdir)) { Directory.CreateDirectory(currentdir); } CopyDirectory(file, desfolderdir); } else // 否則直接copy檔案 { string srcfileName = file.Substring(file.LastIndexOf("\\")+1); srcfileName = desfolderdir + "\\" + srcfileName; if (!Directory.Exists(desfolderdir)) { Directory.CreateDirectory(desfolderdir); } File.Copy(file, srcfileName); } }//foreach
}//function end