Skip to content

Instantly share code, notes, and snippets.

@tothi
Last active April 23, 2019 19:57
Show Gist options
  • Save tothi/978d00130852377dffb78b0a65a8fb24 to your computer and use it in GitHub Desktop.
Save tothi/978d00130852377dffb78b0a65a8fb24 to your computer and use it in GitHub Desktop.
organize photos based on date taken and creator device
# fix time for Sony camera images
exiftool -v0 "-AllDates+=1" -overwrite_original DSC*
# exactly (diff is 1 hour -4 min):
exiftool -v0 "-AllDates+=0:56" -overwrite_original DSC*
# NOTE: cant modify MTS files ;(
# batch rename all files (except mp4) in dir based on exif date + model (dry test run)
exiftool --ext mp4 -v0 -d %Y%m%d_%H%M%S%%-c '-testname<${DateTimeOriginal}_${Model;s/[ -]//g}.%e' .
# batch rename all files (except mp4) in dir based on exif date + model (production)
exiftool --ext mp4 -v0 -d %Y%m%d_%H%M%S%%-c '-filename<${DateTimeOriginal}_${Model;s/[ -]//g}.%e' .
# NOTE: .MTS files are skipped. need to run directly:
exiftool -v0 -d %Y%m%d_%H%M%S%%-c '-filename<${DateTimeOriginal}_${Model;s/[ -]//g}.%e' *.MTS
# dirty hack for fixing MTS filenames without touching EXIF dates
for i in *.MTS ; do echo $i ; x=$(date -d "${i:0:4}-${i:4:2}-${i:6:2} ${i:9:2}:${i:11:2}:${i:13:2} +2 hour -4 min" "+%Y%m%d_%H%M%S") ; mv $i ${x}_ILCE5000.MTS ; done
# for mp4 files (created by Nexus5X):
exiftool -ext mp4 -v0 -d %Y%m%d_%H%M%S%%-c '-filename<${MediaCreateDate}_Nexus5X.%e' .
# adjust MediaCreateDate for mp4 (created by RedMi4X) + batch rename
# (difference, here +=3 is calculated from File Mod Date - Media Create Date):
exiftool -ext mp4 -v0 -MediaCreateDate+=3 -P *_Redmi4X.mp4
exiftool -ext mp4 -v0 -d %Y%m%d_%H%M%S%%-c '-filename<${MediaCreateDate}_Redmi4X.%e' *_Redmi4X.mp4
exiftool -ext mp4 -v0 -MediaCreateDate+=3 -P *_Nexus5X.mp4
exiftool -ext mp4 -v0 -d %Y%m%d_%H%M%S%%-c '-filename<${MediaCreateDate}_Nexus5X.%e' *_Nexus5X.mp4
# adjust file time
jhead -ft *
# rename uppercase extensions to lowercase
perl-rename 's/\.MTS$/.mts/' *.MTS
perl-rename 's/\.JPG$/.jpg/' *.JPG
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment