diff --git a/PhotoRenamer/PhotoRenamer.csproj b/PhotoRenamer/PhotoRenamer.csproj index 2911fbb..dafa349 100644 --- a/PhotoRenamer/PhotoRenamer.csproj +++ b/PhotoRenamer/PhotoRenamer.csproj @@ -14,6 +14,13 @@ + + + + + + Always + diff --git a/PhotoRenamer/Renamer.cs b/PhotoRenamer/Renamer.cs index 84b7f1c..75fa384 100644 --- a/PhotoRenamer/Renamer.cs +++ b/PhotoRenamer/Renamer.cs @@ -7,6 +7,7 @@ using MetadataExtractor.Formats.Exif; using MetadataExtractor.Formats.QuickTime; using Microsoft.Extensions.Configuration; using Serilog; +using ShellProgressBar; using Directory = System.IO.Directory; namespace PhotoRenamer @@ -26,13 +27,22 @@ namespace PhotoRenamer public int Run() { - var files = Directory.EnumerateFiles(_sourcePath); + var files = Directory.GetFiles(_sourcePath); + var options = new ProgressBarOptions + { + ForegroundColor = ConsoleColor.Yellow, + ForegroundColorDone = ConsoleColor.DarkGreen, + BackgroundColor = ConsoleColor.DarkGray, + BackgroundCharacter = '\u2593' + }; + using var progressBar = new ProgressBar(files.Length, "Copying files", options); foreach (var file in files) { + progressBar.Tick(); var directories = ImageMetadataReader.ReadMetadata(file); var dateTime = GetDateTimeFromExif(directories) ?? GetDateTimeFromMp4(directories); - if (dateTime == null) continue; + if (dateTime is null) continue; var yearFolder = Path.Combine(_targetPath, dateTime.Value.Year.ToString()); var monthFolder = Path.Combine(yearFolder, dateTime.Value.Month.ToString("D2")); var dayFolder = Path.Combine(monthFolder, dateTime.Value.Day.ToString("D2")); diff --git a/PhotoRenamer/appsettings.json b/PhotoRenamer/appsettings.json index 8593c62..fbf4e3d 100644 --- a/PhotoRenamer/appsettings.json +++ b/PhotoRenamer/appsettings.json @@ -1,2 +1,4 @@ { + "Source": "C:\\Test", + "Target": "C:\\Target" } \ No newline at end of file