6 releases (2 stable)
1.1.0 | Nov 4, 2024 |
---|---|
1.0.0 | May 31, 2023 |
0.3.1 | Apr 25, 2023 |
0.2.0 | Mar 3, 2023 |
0.1.0 | Feb 27, 2023 |
#160 in Filesystem
20KB
394 lines
exifrename |
exifrename renames or copies files based on EXIF data.
Installation
cargo install exifrename
Usage
See --help
for more information on how to populate -f FORMAT
and other
available options. An example invocation is:
% exifrename --copy \
> -f "$HOME/Photos/{camera_make}/{year}{month}{day}_{hour}{minute}{second}" \
> /mnt/sdcard/*.jpg
/mnt/sdcard/P0001.jpg -> /home/cdown/Photos/FUJIFILM/20230126_184547_0.jpg
/mnt/sdcard/P0002.jpg -> /home/cdown/Photos/FUJIFILM/20230126_184547_1.jpg
/mnt/sdcard/P0003.jpg -> /home/cdown/Photos/FUJIFILM/20230126_184548_0.jpg
/mnt/sdcard/P0004.jpg -> /home/cdown/Photos/FUJIFILM/20230126_184548_1.jpg
/mnt/sdcard/P0005.jpg -> /home/cdown/Photos/FUJIFILM/20230126_184548_2.jpg
/mnt/sdcard/P0006.jpg -> /home/cdown/Photos/FUJIFILM/20230126_184548_3.jpg
/mnt/sdcard/P0007.jpg -> /home/cdown/Photos/FUJIFILM/20230126_184551.jpg
/mnt/sdcard/P0008.jpg -> /home/cdown/Photos/FUJIFILM/20230126_184802.jpg
[...]
You can also see what would be changed first using --dry-run
.
Performance
exifrename has a strong focus on performance. On a sample modern laptop with a
mid-spec SSD, we take ~0.02 seconds to produce new names for over 5000 files
with the format {year}{month}{day}_{hour}{minute}{second}
.
Dependencies
~5–14MB
~201K SLoC