From db24568cb419598b3e95bb04e798e49e07681b3e Mon Sep 17 00:00:00 2001 From: Mike Phares Date: Tue, 10 Sep 2024 17:07:46 -0700 Subject: [PATCH] MoveFiles to Week of Year --- .vscode/launch.json | 20 ++++++++--------- Day/HelperDay.cs | 2 ++ Day/Q32024/Helper-2024-09-10.cs | 39 +++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 10 deletions(-) create mode 100644 Day/Q32024/Helper-2024-09-10.cs diff --git a/.vscode/launch.json b/.vscode/launch.json index 13cccf3..766db6f 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -13,16 +13,16 @@ "args": [ "s", "X", - "L:/DevOps/Mesa_FI/File-Folder-Helper/.vscode/helper/tfs", - "Day-Helper-2024-08-30", - "MES", - "https://tfs.intra.infineon.com", - "/tfs/FactoryIntegration", - "ART SPS", - "/0d06e969-e1f5-4835-a359-620d557c7595/_apis/wit", - "/wiql/3373b300-8de3-4301-9795-e990c3b226f9", - "4n7d2jcql6bkq32f66tohddonfxajkypq66lm5y3zqemtlohawsa", - "FI Backlog Mesa - Request List.json" + "\\\\mesfs.infineon.com\\EC_EAFLog\\Staging\\Logs\\EAF-Info-Warn-002-020-010\\T41", + "Day-Helper-2024-09-10", + "*.log*", + "333", + "444", + "555", + "666", + "777", + "888", + "999" ], "cwd": "${workspaceFolder}", "console": "integratedTerminal", diff --git a/Day/HelperDay.cs b/Day/HelperDay.cs index 37ab8ee..d450b9c 100644 --- a/Day/HelperDay.cs +++ b/Day/HelperDay.cs @@ -99,6 +99,8 @@ internal static class HelperDay Day.Q32024.Helper20240828.MoveWaferCounterToArchive(logger, args); else if (args[1] == "Day-Helper-2024-08-30") Day.Q32024.Helper20240830.CompareWorkItems(logger, args); + else if (args[1] == "Day-Helper-2024-09-10") + Day.Q32024.Helper20240910.MoveFilesToWeekOfYear(logger, args); else throw new Exception(appSettings.Company); } diff --git a/Day/Q32024/Helper-2024-09-10.cs b/Day/Q32024/Helper-2024-09-10.cs new file mode 100644 index 0000000..6eff004 --- /dev/null +++ b/Day/Q32024/Helper-2024-09-10.cs @@ -0,0 +1,39 @@ +using Microsoft.Extensions.Logging; +using System.Globalization; +namespace File_Folder_Helper.Day.Q32024; + +internal static partial class Helper20240910 +{ + + internal static void MoveFilesToWeekOfYear(ILogger logger, List args) + { + string checkFile; + string weekOfYear; + string checkDirectory; + string searchPattern = args[2]; + string sourceDirectory = args[0]; + Calendar calendar = new CultureInfo("en-US").Calendar; + string[] files = Directory.GetFiles(sourceDirectory, searchPattern, SearchOption.AllDirectories); + logger.LogInformation("With search pattern '{SearchPattern}' found {files}", searchPattern, files.Length); + FileInfo[] collection = files.Select(l => new FileInfo(l)).ToArray(); + foreach (FileInfo fileInfo in collection) + { + weekOfYear = $"{fileInfo.LastWriteTime.Year}_Week_{calendar.GetWeekOfYear(fileInfo.LastWriteTime, CalendarWeekRule.FirstDay, DayOfWeek.Sunday):00}"; + checkDirectory = Path.Combine(sourceDirectory, weekOfYear, fileInfo.LastWriteTime.ToString("yyyy-MM-dd")); + if (!Directory.Exists(checkDirectory)) + _ = Directory.CreateDirectory(checkDirectory); + checkFile = Path.Combine(checkDirectory, fileInfo.Name); + if (checkFile == fileInfo.FullName) + continue; + try + { + if (File.Exists(checkFile)) + continue; + File.Move(fileInfo.FullName, checkFile); + } + catch (Exception ex) + { logger.LogInformation(ex, "Inner loop error!"); } + } + } + +} \ No newline at end of file