using System.IO; namespace TinaX.IO { public static class XDirectory { /// /// If Director is not exists , create it. | 如果目录不存在,则创建 /// /// public static void CreateIfNotExists(string path) { if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } } public static void DeleteIfExists(string path, bool recursive = true) { if (Directory.Exists(path)) Directory.Delete(path, recursive); } public static void CopyDir(string fromDir, string toDir) { if (!Directory.Exists(fromDir)) return; if (!Directory.Exists(toDir)) { Directory.CreateDirectory(toDir); } string[] files = Directory.GetFiles(fromDir); foreach (string formFileName in files) { string fileName = Path.GetFileName(formFileName); string toFileName = Path.Combine(toDir, fileName); File.Copy(formFileName, toFileName); } string[] fromDirs = Directory.GetDirectories(fromDir); foreach (string fromDirName in fromDirs) { string dirName = Path.GetFileName(fromDirName); string toDirName = Path.Combine(toDir, dirName); CopyDir(fromDirName, toDirName); } } } }