node package manager

@lukekarrys/organize-photos

organize-photos

Organize my photos and videos.

NPM Build Status js-standard-style Greenkeeper badge

Install

CLI

npm install @lukekarrys/organize-photos -g

Module

npm install @lukekarrys/organize-photos --save

What does this do?

  1. Takes a src dir and copies everything to a dest dir
  2. Every file copied is cleaned up with the following
    1. Lowercase file extension
    2. Removes trailing #5 and (3) from filenames
  3. If a file is not a recognized type it is moved to dest/UNKNOWN
  4. If a file has no date associated, it is moved to dest/UNSORTED
  5. If a file does have a date, it is moved to dest/yyyy/mm/dd/yyyy-mm-dd hh:mm:ss.ext
  6. Dates are found by the following
    1. exif CreateDate field
    2. Any other exif fields passed in with exifDate
    3. Some special filenames like screenshots or photobooth files
    4. If the file is named like yyyy-mm-dd hh?:mm?:ss?
    5. A parent directory that is named like yyyy-mm-dd hh?:mm?:ss?
  7. If no exif dates are found, but a date is found from the path, that will be written to exif data
  8. Files are never clobbered but instead a-z is appended to the destination until there are no conflicts
  9. By default, everything is a dry run (can be changed with real)
  10. By default, dest is never cleared but always added to (can be changed with clean)
  11. Can optionally move all the files instead

LICENSE

MIT