Simple TUI renamer app. Inspired by Total Commander's multi rename tool.
coursier bootstrap \
com.kubuszok:renamer_3:latest.release \
-o renamer# once coursier/coursier#3057 is fixed
coursier bootstrap --native-image \
--graalvm graalvm-community:24.0.1 \
com.kubuszok:renamer_3:latest.release \
-o renamer \
--graalvm-opt --no-fallback \
-- \
-H:IncludeResources=libnative-arm64-darwin-crossterm.dylib \
-H:IncludeResources=libnative-x86_64-darwin-crossterm.dylib \
-H:IncludeResources=libnative-x86_64-linux-crossterm.so \
-H:IncludeResources=native-x86_64-windows-crossterm.dllscala-cli --power package --native-image . -o renamer -- \
-H:IncludeResources=libnative-arm64-darwin-crossterm.dylib \
-H:IncludeResources=libnative-x86_64-darwin-crossterm.dylib \
-H:IncludeResources=libnative-x86_64-linux-crossterm.so \
-H:IncludeResources=native-x86_64-windows-crossterm.dll \
--no-fallbackRun renamer in the directory you want to rename things, then
- edit
Filterto select which files to edit (it's a regular expression) - edit
Rename toto define how files should be renamed, you can use the following magic placeholders:[N]- name without extension, you can select the substring with:[N2-5]- filename without extension, characters from2to5(counting from 1)[N-2-5]- filename without extension, characters from2from the end to5(counting from 1)[N2--5]- filename without extension, characters from2to5from the end (counting from 1)[N2,5]- filename without extension,5characters characters starting from2(counting from 1)[N-2,5]- filename without extension,5characters characters starting from2from the end (counting from 1)
[E]- just extension, substrings working like withN[P]- parent directory name, substrings working like withN[G]- grandparent directory name, substrings working like withN[C]- counter (which file it is), by default starting from1, by step1, without appending any zeroes, can be customized with:[C:10]- counter starting from10[C;5]- counter starting from1step by5[C:10;5]- counter starting from10step by5[C%3]- counter starting from1step by1, formatted with 3 digits[C:10;5%3]- counter starting from10step by5, formatted with 3 digits
[D:date format]- date format following Java'sDateTimeFormatterconvention$0,$1,$2- groups from the regular expression match- Groups are extracted only from the first match! Use
^and$if you want to match the whole line!
- Groups are extracted only from the first match! Use
- check if there are no issues, if it's OK, accept rename with
Enter - or abort with
Esc