using File_Folder_Helper.Helpers; using Microsoft.Extensions.Logging; namespace File_Folder_Helper.ADO2025.PI5; internal static partial class Helper20250315 { internal static void Empty(ILogger logger, List args) { string[] searchPatterns = args[2].Split('|'); string sourceDirectory = Path.GetFullPath(args[0]); if (searchPatterns.Length == 1) { string[] files = Directory.GetFiles(sourceDirectory, searchPatterns[0], SearchOption.AllDirectories); if (files.Length == 0) logger.LogWarning("<{files}>(s)", files.Length); else { string directoryName; string[] directories; foreach (string file in files) { directoryName = Path.GetDirectoryName(file) ?? throw new Exception(); directories = Directory.GetDirectories(directoryName, "*", SearchOption.TopDirectoryOnly); foreach (string directory in directories) HelperDeleteEmptyDirectories.DeleteEmptyDirectories(logger, directory); } } } else { string[] files; string checkFile; HelperDeleteEmptyDirectories.DeleteEmptyDirectories(logger, sourceDirectory); foreach (string searchPattern in searchPatterns) { files = Directory.GetFiles(sourceDirectory, searchPattern, SearchOption.AllDirectories); if (files.Length == 0) logger.LogWarning("<{files}>(s)", files.Length); else { foreach (string file in files) { checkFile = $"{file}.json"; if (File.Exists(checkFile)) continue; File.Move(file, checkFile); } } } } } }