/// <param name="sources">原路徑</param> /// <param name="dest">目標路徑</param> private void CopyFile(string sources, string dest) { if (Directory.Exists(sources)) { DirectoryInfo dinfo = new DirectoryInfo(sources);// 傳的是文件路徑,所以不能包含後綴名 foreach (FileSystemInfo f in dinfo.GetFileSystemInfos()) { // 目標路徑destName = 目標文件夾路徑 + 原文件夾下的子路徑(或文件夾)名字 String destName = Path.Combine(dest, f.Name); if (f is FileInfo)// 如果是文件就复制 { System.IO.File.Copy(f.FullName, destName, true);// true代表可以覆盖同名文件 } else// 如果是文件夾就創建文件夾然后复制然后递归复制 { if (!Directory.Exists(destName)) { Directory.CreateDirectory(destName); } CopyFile(f.FullName, destName);// 遞歸調用 } } } }