diff --git a/PhotoRenamer/Renamer.cs b/PhotoRenamer/Renamer.cs index 1403931..510b563 100644 --- a/PhotoRenamer/Renamer.cs +++ b/PhotoRenamer/Renamer.cs @@ -45,15 +45,8 @@ namespace PhotoRenamer var dateTime = GetDateTimeFromExif(directories) ?? GetDateTimeFromMp4(directories); if (dateTime is null) continue; - var dayFolder = Path.Combine( - _targetPath, - dateTime.Value.Year.ToString(), - dateTime.Value.Month.ToString("D2"), - dateTime.Value.Day.ToString("D2")); - if (!Directory.Exists(dayFolder)) Directory.CreateDirectory(dayFolder); - var destination = Path.Combine(dayFolder, Path.GetFileName(file)); - if (File.Exists(destination)) continue; - File.Copy(file, destination); + var folder = CreateFolder(dateTime.GetValueOrDefault()); + CopyFile(folder, file); } catch (ImageProcessingException) { @@ -64,6 +57,24 @@ namespace PhotoRenamer return 0; } + private static void CopyFile(string folder, string file) + { + var destination = Path.Combine(folder, Path.GetFileName(file)); + if (File.Exists(destination)) return; + File.Copy(file, destination); + } + + private string CreateFolder(DateTime dateTime) + { + var folder = Path.Combine( + _targetPath, + dateTime.Year.ToString(), + dateTime.Month.ToString("D2"), + dateTime.Day.ToString("D2")); + if (!Directory.Exists(folder)) Directory.CreateDirectory(folder); + return folder; + } + private static DateTime? GetDateTimeFromExif(IEnumerable directories) { return directories