Move photos and videos into a directory tree structure sorted by date taken
Project description
imagemv
Move photos and videos into a directory tree structure sorted by date taken.
Use as a Sync and / or Backup Script
Optionally keep the original files in the source directory (copy instead of move). Either keep all of them or only up to a certain age (as defined by a configurable number of days). This is a useful feature if the source directory is synced with a mobile phone or similar device with limited storage.
../DEST/
│
├── 2022/
│ ├── 08/
│ │ ├── 23/
│ │ │ └── IMG_20220823_154532.jpg
│ ├── 09/
│ │ ├── 03/
│ │ │ ├── Screenshot-1.png
│ │ │ └── VID_2022-08-24_08:34:56.mp4
│ │ ├── 04/
│ │ │ ├── Matrix.mov
├── 2023/
│ ├── 01/
The program will recursively traverse the source directory and sort all image files found based on their metadata. If no date is found, the program will try to parse the date from the filename. Failing that, the file's st-mtime
will be used.
Original metadata and filenames are preserved. When an image with the same filename already exists at the destination path, the program will do nothing and continue processing with the next file.
Usage
imagemv
Usage:
imagemv.py SOURCE DEST [--keep=<days>] [--dry-run]
imagemv.py SOURCE DEST [--keep-all] [--dry-run]
imagemv.py (-h | --help)
imagemv.py (-v | --version)
Options:
-h --help Show this screen.
-v --version Show version.
--verbose Print more information about progress.
--keep=<days> Keep original files which are younger than the specified number of <days> old [default: 0].
--keep-all Keep all original files.
--dry-run Simulation mode (no changes will be written to the filesystem).
Example
imagemv --dry-run --keep-days=365 ~/phone-sync/DCIM/Camera ~/Images
Installation
Using Python / pip:
pip install imagemv
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.