private static void GetHierarchicalFolderList(string path, string searchPattern = "*") { var folders = SearchHandler.GetDirectories(path); string folder = string.Empty; foreach (var item in folders) { Console.WriteLine(item); folder = item; GetHierarchicalChildItems(ref folder, searchPattern, 1); } }
private static void GetHierarchicalChildItems(ref string folder, string searchPattern, int level) { List <string> files = SearchHandler.GetFiles(folder, searchPattern); if (files.Count <= 0) { return; } var indent = string.Empty; var splash = string.Empty; for (var i = 0; i < level; i++) { indent += "---"; splash += "| "; } foreach (var file in files) { Console.WriteLine(splash + indent + file); } List <string> folders = SearchHandler.GetDirectories(folder); if (folders.Count > 0) { string subFolder = string.Empty; foreach (var item in folders) { Console.WriteLine(splash + item); subFolder = item; GetHierarchicalChildItems(ref subFolder, searchPattern, level + 1); } } }