11 个稳定版本

1.4.0 2023年10月20日
1.3.1 2022年3月12日
1.3.0 2022年2月15日
1.2.0 2021年1月20日
1.1.1 2020年11月7日

#542命令行工具

Download history 1/week @ 2024-04-05

325 每月下载量

MIT 许可证

30KB
649

rena

crates.io

一个希望简单的批量重命名工具。

它目前的功能包括试运行、正则表达式和(简单地?)调整输出。

要求

  • clap
  • color-eyre
  • paris
  • strfmt
  • regex

用法

最基本的用法是简单地 rena <folder>,它对一个文件夹执行操作,将所有内容重命名为 item_{:10>number} 的模式,其中 number 是读取时的项目编号。
填充数量可以通过 --padding <number> 调整,方向通过 --padding-direction <direction> 调整,前缀通过 --prefix <prefix> 调整。

它也可以在正则表达式模式下运行,默认情况下如果只使用 --match <regex>,则作为过滤器运行。如果还使用 --match-rename <pattern>,则根据模式重命名所有内容。确切语法在 --help 中描述。

查看 -h--help 了解所有标志。

示例

目前只覆盖了最基本的执行模式,我希望添加更多。

最基本的

假设有一个名为 images 的目录,其结构如下

image.jpg
image3.jpg
12746uju21.jpg
17f29a002.jpg

运行 rena images/ 后,将得到以下结果

item_0000000000.jpg
item_0000000001.jpg
item_0000000002.jpg
item_0000000003.jpg

正则表达式过滤

假设有一个名为 images 的目录,其结构如下

image.jpg
image3.mp4
12746uju21.jpg
17f29a002.jpg
17f2121wss.png
ffe_image_breaker.webm
potential_effort.jpg

运行 rena --match "\.[jpgn]+" images/ 后,将得到以下结果

ffe_image_breaker.webm
image3.mp4
item_0000000000.jpg
item_0000000001.png
item_0000000002.jpg
item_0000000003.jpg
item_0000000004.jpg

正则表达式用法

假设有一个名为 Show 的目录,其结构如下

Show.S01E01.1080p.mkv
Show.S01E02.1080p.mkv
Show.S01E03.1080p.mkv
Show.S02E01.1080p.mkv
Show.S02E02.1080p.mkv
Show.S02E03.1080p.mkv

运行 rena --match "Show\.S(\d+)E(\d+)\.1080p\.mkv" --match-rename "Show S${1} E${2} (1080p).mkv" Show/ 后,将得到以下结果
注意:大多数shell需要转义$符号

Show S01 E02 (1080p).mkv
Show S01 E03 (1080p).mkv
Show S02 E01 (1080p).mkv
Show S01 E01 (1080p).mkv
Show S02 E02 (1080p).mkv
Show S02 E03 (1080p).mkv

依赖项

~9-20MB
~311K SLoC