Tempren - template-based file renaming utility
tempren is a powerful file renaming utility that uses flexible template expressions to generate names for your files.
Tag templates can modify original filename, extract metadata from the files or anything in between.
A rich library of built-in tags helps with working with many common file types out-of-the-box.
Whether you need to organize your files, standardize naming conventions, or perform complex renaming tasks, tempren can help you get the job done efficiently.
Features
- Template-based filename/path generation
- Built-in Audio/Video/Images metadata extraction tags
- Ad-hoc tags to leverage external programs for metadata extraction
- Configurable, metadata-based file selection (filtering) and sorting
Installation and documentation
For comprehensive documentation, including installation instructions, all features, advanced usage, and troubleshooting, please visit the Manual page.
Examples
Note: When experimenting on your own please use -dr/--dry-run flag!
tempren will not override your files by default but invalid template can mangle their names.
Cleaning up names for sensitive (e.g. FAT32) filesystems
$ tempren --recursive --name "%Strip(){%Base()|%Unidecode()|%Sanitize()|%Collapse()}%Ext()" ./Some\ OST/
Renamed: Disk 1/14 - 接近.flac
to: Disk 1/14 - Jie Jin.flac
Renamed: Disk 1/02 - なつのあお.flac
to: Disk 1/02 - natsunoao.flac
Renamed: Disk 1/11 - 灯火-re.flac
to: Disk 1/11 - Deng Huo -re.flac
Renamed: Disk 1/05 - 記録.flac
to: Disk 1/05 - Ji Lu.flac
Renamed: Disk 1/10 - むかしむかし、あるところに.flac
to: Disk 1/10 - mukashimukashi, arutokoroni.flac
Renamed: Disk 1/09 - 阿良句のテーマ(ハイ).flac
to: Disk 1/09 - A Liang Ju notema(hai).flac
...
Adding resolution to the image files
$ tempren --name "%Base()_%Image.Width()x%Image.Height()%Ext()" ~/Pictures/Wallpapers
Renamed: 0sa5yfiskqr21.jpg
to: 0sa5yfiskqr21_3728x4660.jpg
Renamed: rkgjq6883fp81.jpg
to: rkgjq6883fp81_3024x4032.jpg
Renamed: lcrkvphf28911.jpg
to: lcrkvphf28911_4016x4684.jpg
Renamed: y6nzcv55k3851.jpg
to: y6nzcv55k3851_3784x5670.jpg
Renamed: 1211740803547.jpg
to: 1211740803547_1200x1109.jpg
...
Sorting files into directories based on their MIME type
$ tempren -dr --path "%Capitalize(){%Mime(subtype)}/%Name()" ~/Downloads
Renamed: dotnet-install.sh
to: X-shellscript/dotnet-install.sh
Renamed: openrgb_0.7_amd64_buster_6128731.deb
to: Vnd.debian.binary-package/openrgb_0.7_amd64_buster_6128731.deb
Renamed: prometheus-2.26.0.linux-amd64.tar.gz
to: Gzip/prometheus-2.26.0.linux-amd64.tar.gz
Renamed: nldb remote.zip
to: Zip/nldb remote.zip
Renamed: artifacts.zip
to: Zip/artifacts.zip
Renamed: 2021-06-11_12-09-34.webm
to: X-matroska/2021-06-11_12-09-34.webm
Renamed: antlr-4.9.2-complete.jar
to: Java-archive/antlr-4.9.2-complete.jar
...
Adding checksums to the names of the audio files
$ tempren --filter-template "%IsMime('audio')" --name "%Base() [%Upper(){%Crc32()}]%Ext()" ./Roger\ Subirana\ Mata\ -\ Point\ of\ no\ return
Renamed: 10-169205-Roger Subirana Mata-Island of light.mp3
to: 10-169205-Roger Subirana Mata-Island of light [08E46C33].mp3
Renamed: 12-169207-Roger Subirana Mata-Tales of trees.mp3
to: 12-169207-Roger Subirana Mata-Tales of trees [33EFEC5E].mp3
Renamed: 11-169206-Roger Subirana Mata-Requiem.mp3
to: 11-169206-Roger Subirana Mata-Requiem [5E48759B].mp3
Renamed: 05-168950-Roger Subirana Mata-The mask.mp3
to: 05-168950-Roger Subirana Mata-The mask [045DBC19].mp3
Renamed: 03-168948-Roger Subirana Mata-Thryst.mp3
to: 03-168948-Roger Subirana Mata-Thryst [5D23E43B].mp3
...
Contributing
If you noticed a bug or have an idea for a new tag please open an issue with appropriate (GitHub) tags. If you would like to contribute to the development you can visit contributing page designed specially for that.
Metadata
Release files for tempren 1.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tempren-1.4.0.tar.gz | 59.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tempren-1.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 133.3 kB
Release files / tempren-1.4.0.tar.gz
| Download URL | tempren-1.4.0.tar.gz |
|---|---|
| Size | 59.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5f5453c1153732982f5caefa757b081a20d13d7b874abe472b2d7e1705c684e0
|
|
BLAKE2b-256 checksum How to use checksums |
4e2e61b034227344c55df0a42db0700014ed912ba603ca941faf1457bd418b09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.11.0 Linux/6.17.0-1018-azure
|
Release files / tempren-1.4.0-py3-none-any.whl
| Download URL | tempren-1.4.0-py3-none-any.whl |
|---|---|
| Size | 73.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
56e1c8b2f383d4911bd0a36e9072c37d40a7bae4be577167663956992c161b60
|
|
BLAKE2b-256 checksum How to use checksums |
21fef5c6a5bc85beebdd4279502b8c56cf05d4489562d85dd1cabbcb0c55c3d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.11.0 Linux/6.17.0-1018-azure
|