From 9f4286e3e9930ebd3786603ab38eb2b671b1db05 Mon Sep 17 00:00:00 2001 From: Mike Phares Date: Tue, 14 Jan 2025 13:00:52 -0700 Subject: [PATCH] Directory Renaming --- .vscode/launch.json | 126 ++----------------------------- ADO2025/PI4/Helper-2025-01-14.cs | 54 +++++++++++++ Day/HelperDay.cs | 2 + 3 files changed, 61 insertions(+), 121 deletions(-) create mode 100644 ADO2025/PI4/Helper-2025-01-14.cs diff --git a/.vscode/launch.json b/.vscode/launch.json index 84b47b6..7377fd8 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -13,132 +13,16 @@ "args": [ "s", "X", - "D:/6-Other-Large-Z/https-linux-ubuntu-server/etc", - "Day-Helper-2024-12-24", - "dorico.phares.duckdns.org", - "php", + "Y:/TRendlog", + "Day-Helper-2025-01-14", + "New folder*|202*", + "yyyy-MM-dd", "444", "555", "666", "777", "888", - "999", - "s", - "X", - "D:/5-Other-Small/Kanban/Year-Season", - "Day-Helper-2024-06-23", - "*.md", - "##_Sub-tasks", - "code-insiders", - "index.md", - "-_[,](", - "##_Done", - ".kan", - "D:/5-Other-Small/Kanban/Year-Season", - "316940400000", - "s", - "X", - "L:/", - "Day-Helper-2024-12-17", - "job.json", - "333", - "444", - "555", - "666", - "777", - "888", - "999", - "X", - "L:/Git/Linux-Ubuntu-Server/etc/nginx/include", - "Day-Helper-2024-09-16", - "*.conf", - "/etc/nginx/include/", - "server_name", - "proxy_pass~root", - "s", - "X", - "L:/DevOps/Mesa_FI/MesaFabApproval/Fab2ApprovalTests/Programmability/Functions", - "Day-Helper-2024-12-04", - "*.sql", - "333", - "444", - "555", - "666", - "777", - "888", - "999", - "s", - "X", - "L:/DevOps/Mesa_FI/MesaFabApproval", - "Day-Helper-2024-01-08", - "L:/DevOps/Mesa_FI/MesaFabApproval/Fab2ApprovalSystem/Controllers", - "true", - "s", - "X", - "D:/5-Other-Small/Kanban-mestsa003/ART-SPS/2024/PI4/Sprint-4.1/126448-User-Story/.files/638675719896500885", - "Day-Helper-2024-11-15", - "*.txt", - "s", - "X", - "D:/5-Other-Small/Kanban-mestsa003/ART-SPS/2024/PI4/Sprint-4.1/126448-User-Story/.files/Production__v2_57_0__BIORAD4__Stratus__1TRDS", - "Day-Helper-2024-11-15", - "*.txt", - "s", - "X", - "D:/5-Other-Small/Kanban-mestsa003/ART-SPS/2024/PI4/Sprint-4.1/126448-User-Story/.files/Production__v2_57_0__BIORAD2__QS408M__FourteenPoint", - "Day-Helper-2024-11-15", - "*.txt", - "s", - "X", - "D:/5-Other-Small/Kanban-mestsa003/ART-SPS/2024/PI4/Sprint-4.1/126996-User-Story", - "Day-Helper-2024-11-08", - "[].json", - "333", - "444", - "555", - "666", - "777", - "888", - "999", - "s", - "X", - "D:/5-Other-Small/Kanban-mestsa003/ART-SPS/2024/PI4/Sprint-4.1/126448-User-Story/.files/Production__v2_57_0__HGCV1__pcl__Normal", - "Day-Helper-2024-10-30", - "*.txt", - "s", - "X", - "D:/5-Other-Small/Kanban-mestsa003/ART-SPS/2024/PI4/Sprint-4.1/126448-User-Story/.files/Production__v2_57_0__CDE6__RsM__Normal", - "Day-Helper-2024-10-31", - "*.RsM", - "s", - "X", - "L:/DevOps/Mesa_FI/File-Folder-Helper/.vscode/helper/tfs", - "Day-Helper-2024-09-11", - "https://eaf-dev.mes.infineon.com/json/work-items.json?v=2024-10-04-08-34&_=1728333679350", - "https://oi-metrology-viewer-prod.mes.infineon.com/json/work-items.json?v=2024-10-07-10-09&_=1728336047608", - "Epic|Feature|User Story", - "https://tfs.intra.infineon.com/tfs/FactoryIntegration/ART%20SPS/_workitems/edit/", - "L:/DevOps/Mesa_FI/File-Folder-Helper/.vscode/helper/tfs", - "D:/5-Other-Small/Proxmox/exiftool/286628400329.jpg.jpg", - "s", - "X", - "L:/DevOps/Mesa_FI/File-Folder-Helper/.vscode/helper/tfs", - "Day-Helper-2024-09-11", - "https://eaf-dev.mes.infineon.com/json/work-items.json?v=2024-10-04-08-34&_=1728333679350", - "https://oi-metrology-viewer-prod.mes.infineon.com/json/work-items.json?v=2024-10-07-10-09&_=1728336047608", - "Epic|Feature|User Story", - "https://tfs.intra.infineon.com/tfs/FactoryIntegration/ART%20SPS/_workitems/edit/", - "L:/DevOps/Mesa_FI/File-Folder-Helper/.vscode/helper/tfs", - "s", - "X", - "T:/MESAFIBACKLOG/06_SourceCode/MESAFIBACKLOG", - "Day-Helper-2024-01-08", - "T:/MESAFIBACKLOG/06_SourceCode/MESAFIBACKLOG/Adaptation/FileHandlers/Markdown", - "s", - "X", - "L:/DevOps/Mesa_FI/File-Folder-Helper", - "Day-Helper-2024-01-08", - "L:/DevOps/Mesa_FI/File-Folder-Helper/ADO2024/PI3" + "999" ], "cwd": "${workspaceFolder}", "console": "integratedTerminal", diff --git a/ADO2025/PI4/Helper-2025-01-14.cs b/ADO2025/PI4/Helper-2025-01-14.cs new file mode 100644 index 0000000..728d26f --- /dev/null +++ b/ADO2025/PI4/Helper-2025-01-14.cs @@ -0,0 +1,54 @@ +using Microsoft.Extensions.Logging; + +namespace File_Folder_Helper.ADO2025.PI4; + +internal static partial class Helper20250114 +{ + + private static void Rename(string[] directories, string dateFormat) + { + string[] files; + DateTime dateTime; + FileInfo fileInfo; + string checkDirectory; + foreach (string directory in directories) + { + dateTime = DateTime.MinValue; + files = Directory.GetFiles(directory, "*", SearchOption.AllDirectories); + foreach (string file in files) + { + fileInfo = new(file); + if (dateTime > fileInfo.LastWriteTime) + continue; + dateTime = fileInfo.LastWriteTime; + } + if (dateTime == DateTime.MinValue) + continue; + checkDirectory = Path.Combine(Path.GetDirectoryName(directory) ?? throw new Exception(), dateTime.ToString(dateFormat)); + if (checkDirectory != directory) + { + if (Directory.Exists(checkDirectory)) + continue; + Directory.Move(directory, checkDirectory); + } + Directory.SetLastWriteTime(checkDirectory, dateTime); + } + } + + private static void Rename(ILogger logger, string sourceDirectory, string searchPattern, string dateFormat) + { + string[] directories = Directory.GetDirectories(sourceDirectory, searchPattern); + logger.LogInformation("directories: {directories}", directories.Length); + Rename(directories, dateFormat); + } + + internal static void Rename(ILogger logger, List args) + { + string dateFormat = args[3]; + string[] searchPatterns = args[2].Split('|'); + string sourceDirectory = Path.GetFullPath(args[0]); + foreach (string searchPattern in searchPatterns) + Rename(logger, sourceDirectory, searchPattern, dateFormat); + } + +} \ No newline at end of file diff --git a/Day/HelperDay.cs b/Day/HelperDay.cs index c33ec54..b505edd 100644 --- a/Day/HelperDay.cs +++ b/Day/HelperDay.cs @@ -127,6 +127,8 @@ internal static class HelperDay ADO2024.PI4.Helper20241224.Compare(logger, args); else if (args[1] == "Day-Helper-2025-01-01") ADO2025.PI4.Helper20250101.MoveToDelete(logger, args); + else if (args[1] == "Day-Helper-2025-01-14") + ADO2025.PI4.Helper20250114.Rename(logger, args); else throw new Exception(appSettings.Company); }