Skip to content

olekspickle/rrename

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rrename

A very opinionated command-line tool/library for file mass-renaming using regex

Installation

Easiest way is to install via cargo:

cargo install rrename

Features

  • rename files in batch
  • restore files after rename in batch
  • denoise files
  • regex substitution
  • verbocity levels (clap_verbosity_flag is amazing): just add -v, -vv, -vvv to your hearts content
  • case conversion

Example

no arguments run

➜ tree test
test
├── Another Dir & Co
│   ├── Some [some#bs].txt
│   └── Some & Track.txt
├── Some Dir
│   ├── SOME_⧸fILe.txt
│   ├── some,text_file\#_$.txt
│   ├── some:, text_file.txt
│   └── some'weird'file"with"brackets.txt
├── Some -  Word With III dCi135_
│   └── Some Word F3500 dCi135 StereoM10.txt
└── Super
    └── NESTED
        └── UgLy
            └── dIIr
                └── with|file.txt

➜ rrename -d  test -L 5
2026-02-25T12:04:59.756742Z  INFO rrename::cli: Renamed: 15, depth: 5
2026-02-25T12:04:59.756802Z  INFO rrename: renamed list saved as rrenamed-2026-02-25-12:04:59.txt

➜ tree test
test
├── another-dir-and-co
│   ├── some-and-track.txt
│   └── some-[some-bs].txt
├── some-dir
│   ├── some-file.txt
│   ├── some-text-file-.txt
│   ├── some-text-file.txt
│   └── some-weird-file-with-brackets.txt
├── some-word-with-iii-dci135
│   └── some-word-f3500-dci135-stereom10.txt
└── super
    └── nested
        └── ugly
            └── diir
                └── with-file.txt

➜ rrename -r rrenamed-2026-02-25-12:04:59.txt
2026-02-25T12:05:14.740507Z  INFO rrename::cli: Restored: 15
2026-02-25T12:05:14.740569Z  INFO rrename: renamed list saved as rrenamed-2026-02-25-12:05:14.txt

➜ tree test
test
├── Another Dir & Co
│   ├── Some [some#bs].txt
│   └── Some & Track.txt
├── Some Dir
│   ├── SOME_⧸fILe.txt
│   ├── some,text_file\#_$.txt
│   ├── some:, text_file.txt
│   └── some'weird'file"with"brackets.txt
├── Some -  Word With III dCi135_
│   └── Some Word F3500 dCi135 StereoM10.txt
└── Super
    └── NESTED
        └── UgLy
            └── dIIr
                └── with|file.txt

using regex to substitute

By default, if you do not specify -s,--sub, all regex matches will be replaced with empty strings.

➜  ls
3pv-some-file.mp4
➜   rrename -E "3pv-some-" -s "other-" .
2026-02-25T12:05:14.740507Z  INFO rrename::cli: Renamed: 1
➜   ls
other-file.mp4

kudos

  • wrench was taken as a base
  • Powered by jwalk - walkdir on steroids using rayon

License: MIT OR Apache-2.0

About

Opinionated batch renaming cli & lib crate

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENCE-APACHE
MIT
LICENCE-MIT

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages