using DiscUtils; using DiscUtils.Iso9660; using Microsoft.Extensions.Logging; namespace File_Folder_Helper.ADO2025.PI6; internal static partial class Helper20250628 { private record File(long LastWriteTicks, long Length, string RelativePath); internal static void LogInformation(ILogger logger, List args) { logger.LogInformation(args[0]); logger.LogInformation(args[1]); logger.LogInformation(args[2]); string searchPattern = args[2]; string sourceDirectory = Path.GetFullPath(args[0].Split('~')[0]); string[] searchPatternFiles = Directory.GetFiles(sourceDirectory, searchPattern, SearchOption.AllDirectories); LogInformation(logger, searchPatternFiles, args[3]); } private static void LogInformation(ILogger logger, string[] searchPatternFiles, string letter) { File file; string[] files; DiscFileInfo discFileInfo; foreach (string searchPatternFile in searchPatternFiles) { if (string.IsNullOrEmpty(searchPatternFile)) { using FileStream fileStream = System.IO.File.OpenRead(searchPatternFile); CDReader reader = new(fileStream, true); files = reader.GetFiles("", "*"); foreach (string f in files) { discFileInfo = reader.GetFileInfo(f); file = new(LastWriteTicks: discFileInfo.LastWriteTime.Ticks, Length: discFileInfo.Length, RelativePath: f); } } logger.LogInformation("mountvol $driveLetter $volInfo.UniqueId"); logger.LogInformation("$volInfo = $diskImg | Get-Volume"); logger.LogInformation("$diskImg = Mount-DiskImage -ImagePath $isoImg -NoDriveLetter"); logger.LogInformation($"$driveLetter = \"{letter}:\""); logger.LogInformation($"$isoImg = \"{searchPatternFile}\""); logger.LogInformation(string.Empty); } } }