一个简单的批量重命名/链接/移动文件的 CLI 工具

13次阅读

共计 613 个字符,预计需要花费 2 分钟才能阅读完成。

因为我在自己的媒体服务器里使用的都是 PT 站上的资源,而媒体服务器通常都要求文件名遵循一定的格式(比如 Jellyfin),所以需要重命名做种的文件。虽然我用的 qBittorrent 可以重命名文件并继续做种,但一个一个重命名实在麻烦,后面就通过 Bash 脚本来干这个事,批量将视频文件软链接到对应的媒体文件夹,这样就可以同时做种和提供媒体服务。

但由于 Bash 语言的局限,这个脚本的扩展性不太好,现在重新用 Python 写了一个专门批量重命名 / 链接 / 移动文件的 CLI 工具:batchlink。Python 自带电池,很多我需要的函数标准库里都有,所以实现起来很简单。

举一个我自己的例子:

batchlink -s 
  -S "/srv/resources/Videos/Animation/ 死亡笔记 /" 
  -d "/srv/emby/Animation/Death Note: Desu nôto (2006)/Season 01/" 
  '*.mkv' 'Death Note: Desu nôto S01E{num:02}.mkv'

-s 表示创建软链接;-S 指定源文件夹;-d 指定目标文件夹;第一个位置参数是一个 glob 通配符,用来筛选需要链接的文件;第二个位置参数是一个 Python f-string,是创建链接名的模板。模板里的 {num:02} 会按字母表顺序被替换成从 1 开始的序号,还有一些其他的替换变量可以使用,比如从 0 开始的序号 i

希望有需求的 V 友可以尝试一下、提提意见:)

正文完
 0