public class DirectoryCopyHelper { public static void CopyDirectory(string srcPath, string dstPath) { // 目标目录不存在则创建 if (!System.IO.Directory.Exists(dstPath)) { System.IO.Directory.CreateDirectory(dstPath); } // 获取源目录下的所有文件和子目录 string[] files = System.IO.Directory.GetFiles(srcPath); string[] directories = System.IO.Directory.GetDirectories(srcPath); // 复制文件 foreach (string file in files) { string fileName = System.IO.Path.GetFileName(file); string destFile = System.IO.Path.Combine(dstPath, fileName); System.IO.File.Copy(file, destFile, true); } // 递归复制子目录 foreach (string directory in directories) { string dirName = System.IO.Path.GetFileName(directory); string destDir = System.IO.Path.Combine(dstPath, dirName); CopyDirectory(directory, destDir); } } }