file-folder-helper/ADO2025/PI5/Helper-2025-03-15.cs
Mike Phares b74a6a5267 SortCodeMethods
DeleteEmptyDirectories

Remove deprecated tasks

Current Results Move to 1 or 9 ...
2025-03-22 15:37:50 -07:00

55 lines
2.0 KiB
C#

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<Worker> logger, List<string> 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);
}
}
}
}
}
}