public static void DeletePath(string root) { if (Directory.Exists(root)) { ShellHelpers.EmptyPath(root); Directory.Delete(root, true); } }
private static void DeleteRemovedFolders(string src, string dst) { if (Directory.Exists(dst)) { foreach (string dstFolder in Directory.EnumerateDirectories(dst)) { string name; string srcFolder; name = Path.GetFileName(dstFolder); srcFolder = Path.Combine(src, name); if (name != ".git" && !Directory.Exists(srcFolder)) { ShellHelpers.DeletePath(dstFolder); } } } }
public static void EmptyPath(string root) { if (Directory.Exists(root)) { Stack <string> paths; paths = new Stack <string>(); paths.Push(root); do { string path; path = paths.Pop(); ShellHelpers.DeleteFiles(path); foreach (string child in Directory.EnumerateDirectories(path)) { paths.Push(child); } } while (paths.Count > 0); } }