2 releases
new 0.2.2 | Feb 24, 2025 |
---|---|
0.2.1 | Feb 22, 2025 |
#150 in Images
64 downloads per month
15KB
211 lines
Rust EXIF Renamer
A simple cross-platform photo renamer and data editor. It renames JPEG files based on the DateTimeOriginal
in their EXIF metadata, and viceversa.
It processes in parallel all files in the given folder. If anything fails, it prints an error message and continues with the next file.
It defaults into using the YYYYMMDD_hh24mmss
pattern. Use the --pattern
option to change it (but use 24h format).
Written in Rust.
Install
Binary
Download the binary from latest release and move to PATH
.
cargo
cargo install exif_renamer
binstall
If you have binstall, you can get the binary and skip compilation.
cargo binstall exif_renamer
From source
Build and install to $HOME/.cargo/bin
compiling from source:
cargo install --locked --git https://github.com/pirafrank/rust_exif_renamer --tag VERSION
Note: Replace VERSION
with the desired version to install. Not specifying a tag will install from main
branch. main
branch should be stable, but it's unreleased software and may contain bugs or breaking changes. It should considered beta quality software.
Update
Download the new binary version and overwrite old one.
If you have installed via cargo
, then re-run the cargo install
command specifying the new tag.
Usage
Usage: exif_renamer.exe [OPTIONS] --path <PATH> <COMMAND>
Arguments:
<COMMAND>
Command to execute
Possible values:
- exif-to-filename: Rename files based on EXIF data
- filename-to-exif: Update EXIF data based on filename
Options:
-p, --path <PATH>
Directory containing the images to process
-P, --pattern <PATTERN>
Date format pattern to parse from or set to filename
[default: %Y%m%d_%H%M%S]
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version
Examples
Use EXIF data to rename all JPEG files in some folder:
exif_renamer exif-to-filename --path somefolder
Use filename pattern to set DateTimeOriginal in EXIF data for all JPEG files in some folder:
exif_renamer filename-to-exif --path somefolder
To Do
0.1.0
- Rename files based on EXIF data
0.2.x
- Cross-platform support
- Reverse mode: set DateTimeOriginal based on filename
- Add
--pattern
option - Improve help and version options
- Add colored output
- CI pipeline
- Release binaries via pipeline
- Unit tests
0.3.x
- TUI/GUI
Guarantee
This plugin is provided as is, without any guarantee. Use at your own risk.
License
The gem is available as open source under the terms of the MIT License.
Dependencies
~5MB
~89K SLoC