diff --git a/organise-photos b/organise-photos index 8fb0d6d..1cc9a57 100755 --- a/organise-photos +++ b/organise-photos @@ -4,7 +4,31 @@ # organises them into a folder structure based on the month and year # they were last modified (taken). -for filename in *.jpg *.mp4 +DRY_RUN=false + +while test $# -gt 0 +do + case "$1" in + --help) + echo organise-photos + echo " by Starbeamrainbowlabs " + echo "This script takes all the jpg and mp4 files in a directory and organises them into a folder structure based on the month and year they were last modified (taken)." + echo + echo "Options:" + echo " --help" + echo " Show this help message" + echo " --dry-run" + echo " Do a dry run - don't actually move any files." + exit + ;; + --dry-run) + echo Activating dry run mode. + DRY_RUN=true + esac + shift +done + +find . -maxdepth 1 \( -iname "*.jpg" -o -iname "*.mp4" \) -print0 | while read -r -d '' filename do echo -ne "Processing ${filename} - "; takenYear=$(date -r "${filename}" +%Y); @@ -16,6 +40,11 @@ do echo -ne "filing in ${newFolder} - "; + if [ "$DRY_RUN" = true ] ; then + echo dry run + continue + fi + mkdir -p "${newFolder}"; mv "${filename}" "${newFilename}"; @@ -23,3 +52,5 @@ do done echo "*** Complete! ***" + +exit 0