private static void RemoveDirectory(PathName directory, Progress progress) { foreach (var file in directory.EnumerateFiles()) { file.DeleteFile(); progress.Advance(); } foreach (var child in directory.EnumerateDirectories()) { RemoveDirectory(child, progress); } directory.DeleteDirectory(); progress.Advance(); }