private static void WriteFolderStructureRecursively(string directory, int spaces = 0) { var dirInfo = new DirectoryInfo(directory); R2API.Logger.LogDebug($"{GenerateSpaces(spaces)}|---+ {dirInfo.Name}"); if (dirInfo.Parent != null && (BannedFolders.Contains(dirInfo.Name) || BannedFolders.Contains($"{dirInfo.Parent.Name}/{dirInfo.Name}"))) { R2API.Logger.LogDebug($"{GenerateSpaces(spaces + 4)}`---- (Folder content not shown)"); return; } foreach (string dir in Directory.GetDirectories(directory)) { WriteFolderStructureRecursively(dir, spaces + 4); } string[] files = Directory.GetFiles(directory); for (int i = 1; i <= files.Length; i++) { var fileInfo = new FileInfo(files[i - 1]); R2API.Logger.LogDebug( $"{GenerateSpaces(spaces + 4)}{(i != files.Length ? "|" : "`")}---- {fileInfo.Name} ({ParseSize(fileInfo.Length)})"); } }
private static void WriteFolderStructure(string directory) { R2API.Logger.LogDebug(""); R2API.Logger.LogDebug($"+ {new DirectoryInfo(directory).Name}"); foreach (string dir in Directory.GetDirectories(directory)) { WriteFolderStructureRecursively(dir); } string[] files = Directory.GetFiles(directory); for (int i = 1; i <= files.Length; i++) { var fileInfo = new FileInfo(files[i - 1]); R2API.Logger.LogDebug( $"{GenerateSpaces(0)}{(i != files.Length ? "|" : "`")}---- {fileInfo.Name} ({ParseSize(fileInfo.Length)})"); } }