Photo organizer

CLI photo repository manager

Application which manages disjoint repositories of photos.


This organizer tracks multiple source and target directories for file updates, and then it synchronizes them on command. Paired with tools like cron or executed as part of your photography workflow, this application can help manage multiple repositories of the same images and maintain the latest version of them.
Images can be retrieved from source directories at the top level only or recursively, then placed in target directories based on customizable schemes. These schemes allow the user to sort media by an extensive list of attributes which are used to create the paths and file names on-disk.
In the future, I plan to add filters which can be applied to directories or operations. This will enable more powerful library management, such as copying only RAW images or those above a certain resolution.


Register directories by running the directory-add command, then execute a move operation. After directories have been registered, there is no need to add them before later operations.
Move SD card images to local photo library

organizer directory-add -t target -d /home/myuser/photos/ -a library
organizer directory-add -t source -d /etc/dev/mmblck0/ -a "SD Card"
organizer exec-move -s library -t "SD Card"
Copy local images from monthly folders to network storage
organizer scheme-add -f {MMM} -a month
organizer directory-add -t target -d /mnt/media/photo/ -a NAS -s group-month
organizer directory-add -t source -d /home/dork/Pictures/ -a "local" -s month
organizer exec-move -s local -t NAS
These directories can be removed later, and custom schemes can be added at any time. All data is stored in a JSON file, so it can be edited with any text editor if you want to bypass the CLI.

Project type: CLI application

Written in: C#

Dependencies: .NET Core 3.0

My role: Creator

Purpose: Fix the photos

Link: View on GitLab