Directory Renaming

This commit is contained in:
Mike Phares 2025-01-14 13:00:52 -07:00
parent 5c08ac222a
commit 9f4286e3e9
3 changed files with 61 additions and 121 deletions

126
.vscode/launch.json vendored
View File

@ -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",

View File

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

View File

@ -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);
}