From 36c7a3184678162959682d7c93522bcdebb27de5 Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 7 Jan 2025 17:42:11 +0200 Subject: [PATCH] Minor improvements --- .gitignore | 1 + organisephotos.ps1 | 36 +++++++++++++++--------------------- 2 files changed, 16 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index 5dbac50..700adc1 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ log4.txt +log5.txt diff --git a/organisephotos.ps1 b/organisephotos.ps1 index 54543eb..c75d0eb 100644 --- a/organisephotos.ps1 +++ b/organisephotos.ps1 @@ -55,37 +55,31 @@ $Main = $value=$arr[1].Trim() $exiflist[$key] = $value } - # Write-Output $exiflist + # Write-Output "`n------ xfoutput ---------" $mediafile.Name $xfoutput + # Write-Output "`n------ exiflist ---------" $mediafile.Name $exiflist $CreateDate = cv2datetime $exiflist['CreateDate'] $Date_TimeOriginal = cv2datetime $exiflist['Date_TimeOriginal'] $FileCreationDate_Time = cv2datetime $exiflist['FileCreationDate_Time'] $FileModificationDate_Time = cv2datetime $exiflist['FileModificationDate_Time'] $FileAccessDate_Time = cv2datetime $exiflist['FileAccessDate_Time'] - $skip = $false - if ($null -eq $CreateDate) { - if ($null -eq $Date_TimeOriginal) { - $filenamedate = validatedate $mediafile.Name - if ($null -eq $filenamedate) { - $earliest = getearliest $FileCreationDate_Time $FileModificationDate_Time $FileAccessDate_Time - $hint_time = $earliest.ToString('yyyy-MM-dd HH:mm:ss') - Write-Output "Skipped ""$sourcefilefullname"" : File has no usable ExifData! Earliest file time is $hint_time" | Tee-Object -FilePath $LogPath -Append | Write-Host -ForegroundColor DarkRed - $skip = $true - } - else { - Write-Output """$sourcefilefullname"" : File has no usable ExifData. Using date in filename." | Tee-Object -FilePath $LogPath -Append | Write-Host -ForegroundColor Yellow - $datestr = $filenamedate.ToString('yyyyMMdd') - } - } - else { - $datestr = $Date_TimeOriginal.ToString('yyyyMMdd') - } + $filenamedate = validatedate $mediafile.Name + $datestr = $null + $datetaken = getearliest $CreateDate $Date_TimeOriginal + if (-not($null -eq $datetaken)) { + $datestr = $datetaken.ToString('yyyyMMdd') + } + elseif (-not($null -eq $filenamedate)) { + Write-Output """$sourcefilefullname"" : File has no usable ExifData. Using date in filename." | Tee-Object -FilePath $LogPath -Append | Write-Host -ForegroundColor Yellow + $datestr = $filenamedate.ToString('yyyyMMdd') } else { - $datestr = $CreateDate.ToString('yyyyMMdd') + $earliest = getearliest $FileCreationDate_Time $FileModificationDate_Time $FileAccessDate_Time + $file_time = $earliest.ToString('yyyy-MM-dd HH:mm:ss') + Write-Output "Skipped ""$sourcefilefullname"" : File has no usable ExifData! Earliest file time is $file_time" | Tee-Object -FilePath $LogPath -Append | Write-Host -ForegroundColor DarkRed } $sourcefiledir = "$($mediafile.Directory)" #Write-Output $time_arr - if (-not($skip)) { + if (-not($null -eq $datestr)) { #Write-Output "$($mediafile.Name) $datestr" movetosubfolder "$($mediafile.Name)" "$datestr" "$sourcefiledir" "$DestFolder" "$FolderForDuplicates" remove-emptyfolder "$sourcefiledir"