file-folder-helper/ADO2025/PI6/Helper-2025-05-21.cs
2025-05-21 22:29:02 -07:00

35 lines
1.4 KiB
C#

using Microsoft.Extensions.Logging;
namespace File_Folder_Helper.ADO2025.PI6;
internal static partial class Helper20250521 {
private record Record(string Directory, string FileNameWithoutExtension);
internal static void MatchDirectory(ILogger<Worker> logger, List<string> args) {
Record record;
string[] files;
string checkFile;
string searchPattern = args[2];
string fileNameWithoutExtension;
string searchPatternB = args[3];
Dictionary<string, string> keyValuePairs = [];
string sourceDirectory = Path.GetFullPath(args[0].Split('~')[0]);
files = Directory.GetFiles(sourceDirectory, searchPattern, SearchOption.AllDirectories);
foreach (string file in files) {
keyValuePairs.Add(Path.GetFileNameWithoutExtension(file), Path.GetDirectoryName(file));
}
files = Directory.GetFiles(sourceDirectory, searchPatternB, SearchOption.AllDirectories);
foreach (string file in files) {
fileNameWithoutExtension = Path.GetFileNameWithoutExtension(file);
if (!keyValuePairs.TryGetValue(fileNameWithoutExtension, out string? match))
continue;
checkFile = Path.Combine(match, Path.GetFileName(file));
if (File.Exists(checkFile))
continue;
File.Move(file, checkFile);
}
}
}