From 02c03f285307ade89223a260b896e27e8afbc880 Mon Sep 17 00:00:00 2001 From: Mike Phares Date: Thu, 12 Dec 2024 12:20:56 -0700 Subject: [PATCH] Rename by replace --- ADO2024/PI4/Helper-2024-12-12.cs | 35 ++++++++++++++++++++++++++++++++ Day/HelperDay.cs | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 ADO2024/PI4/Helper-2024-12-12.cs diff --git a/ADO2024/PI4/Helper-2024-12-12.cs b/ADO2024/PI4/Helper-2024-12-12.cs new file mode 100644 index 0000000..4e43f1d --- /dev/null +++ b/ADO2024/PI4/Helper-2024-12-12.cs @@ -0,0 +1,35 @@ +using Microsoft.Extensions.Logging; + +namespace File_Folder_Helper.ADO2024.PI4; + +internal static partial class Helper20241212 +{ + + internal static void Rename(ILogger logger, List args) + { + string newFile; + string fileName; + string newFileName; + string directoryName; + string searchPattern = args[2]; + string[] searchPatterns = args[3].Split('|'); + string sourceDirectory = Path.GetFullPath(args[0]); + string[] files = Directory.GetFiles(sourceDirectory, searchPattern, SearchOption.AllDirectories); + if (files.Length == 0) + logger.LogError("No files found in {sourceDirectory} with search pattern {searchPattern}", sourceDirectory, searchPattern); + foreach (string file in files) + { + fileName = Path.GetFileName(file); + directoryName = Path.GetDirectoryName(file) ?? throw new Exception(); + newFileName = fileName; + foreach (string pattern in searchPatterns) + newFileName = newFileName.Replace(pattern, ""); + newFile = Path.Combine(directoryName, newFileName); + if (File.Exists(newFile)) + logger.LogError("File {newFile} already exists", newFile); + else + File.Move(file, newFile); + } + } + +} \ No newline at end of file diff --git a/Day/HelperDay.cs b/Day/HelperDay.cs index ad06c53..38ebeaa 100644 --- a/Day/HelperDay.cs +++ b/Day/HelperDay.cs @@ -121,6 +121,8 @@ internal static class HelperDay ADO2024.PI4.Helper20241115.GetComplete(logger, args); else if (args[1] == "Day-Helper-2024-12-04") ADO2024.PI4.Helper20241204.ConvertToUTF8(logger, args); + else if (args[1] == "Day-Helper-2024-12-12") + ADO2024.PI4.Helper20241212.Rename(logger, args); else throw new Exception(appSettings.Company); }