收起左侧

经常用fnOS下载追剧的朋友看过来,进阶版nf工具帮你轻松完成批量文件名清理

6
回复
743
查看
[ 复制链接 ]

5

主题

19

回帖

0

牛值

江湖小虾

2025-3-22 11:30:46 显示全部楼层 阅读模式

经常追剧的朋友有没有遇到批量文件名改名的问题?

我针对这个问题用bash脚本语言写了脚本,并做了各种测试,使用稳定,并发布到了gitee和github上了。

gitee的链接:

name-fixer: 批量处理文件名的命令行工具

github的链接:

windf17/name-fixer: File Name Cleaning and Organizing Tool

使用示例

基本使用方式

# 创建测试目录和文件
❯ mkdir -p 1 && touch 1/刺青1.mp4
❯ mkdir -p 2 && touch 2/刺青2.mp4
❯ mkdir -p 3 && touch 3/刺青3.mp4
❯ tree
.
**── 1
**   **── 刺青1.mp4
**── 2
**   **── 刺青2.mp4
**── 3
    **── 刺青3.mp4

4 directories, 3 files

# 执行文件名处理
❯ nf 刺青
Moved and cleaned: /home/windf/test/2/刺青2.mp4 -> /home/windf/test/刺青/刺青-2.mp4
Moved and cleaned: /home/windf/test/3/刺青3.mp4 -> /home/windf/test/刺青/刺青-3.mp4
Moved and cleaned: /home/windf/test/1/刺青1.mp4 -> /home/windf/test/刺青/刺青-1.mp4
Operation completed.
❯ tree
.
**── 刺青
    **── 刺青-1.mp4
    **── 刺青-2.mp4
    **── 刺青-3.mp4

进阶使用方式

# 创建测试目录和文件
❯ mkdir -p 1 && touch 1/刺青abc1.mp4
❯ mkdir -p 2 && touch 2/刺青abc2.mp4
❯ touch 刺青abc3.mp4
❯ tree
.
**── 1
**   **── 刺青abc1.mp4
**── 2
**   **── 刺青abc2.mp4
**── 刺青abc3.mp4

3 directories, 3 files

# 使用字符串替换功能
❯ nf 刺青 "刺青=>刺" "abc"
Moved and cleaned: /home/windf/test/2/刺青abc2.mp4 -> /home/windf/test/刺/刺2.mp4
Moved and cleaned: /home/windf/test/刺青abc3.mp4 -> /home/windf/test/刺/刺3.mp4
Moved and cleaned: /home/windf/test/1/刺青abc1.mp4 -> /home/windf/test/刺/刺1.mp4
Operation completed.
❯ tree
.
**── 刺
    **── 刺1.mp4
    **── 刺2.mp4
    **── 刺3.mp4

错误使用案例

注意:在使用字符串替换功能时,参数必须使用引号,否则会导致错误的结果:

# 创建测试目录和文件
❯ mkdir -p 1 && touch 1/刺青abc1.mp4
❯ mkdir -p 2 && touch 2/刺青abc2.mp4
❯ touch 刺青abc3.mp4
❯ tree
.
**── 1
**   **── 刺青abc1.mp4
**── 2
**   **── 刺青abc2.mp4
**── 刺青abc3.mp4

3 directories, 3 files

# 错误:参数未使用引号
❯ nf 刺青 刺青=>刺 abc
❯ tree
.
**── 刺
**── 刺青
    **── 刺青1.mp4
    **── 刺青2.mp4
    **── 刺青3.mp4
收藏
送赞
分享

5

主题

19

回帖

0

牛值

江湖小虾

2025-3-22 13:17:32 楼主 显示全部楼层
windows平台推荐使用nf.exe文件,powershell的脚本有缺陷,我也不熟,写不好,只能用go语言编译的可执行文件了。
linux平台推荐使用nf.sh脚本文件,才4k就能搞定,相比以前go语言写的可执行文件要3mb大小,用脚本实现同样的功能更推荐使用。

5

主题

19

回帖

0

牛值

江湖小虾

2025-3-22 13:20:20 楼主 显示全部楼层
另外我发现在windows平台下执行nf 刺青 刺青=>刺 abc可以不加引号,但是linux平台下必须加引号。

5

主题

19

回帖

0

牛值

江湖小虾

2025-3-22 17:07:20 楼主 显示全部楼层
对于nf普通用法不多说了,用过以后都懂,非常简洁好用。
对于进阶用法,尤其是在fnOS上使用的方法,我再细说一下。
nf的第一参数是剧名关键字;第二、三及以后的参数中若包含=>表示替换、若不包含=>表示删除文件名中的指定字符串
nf 剧名关键字 "待替换的字符串=>替换后的字符串" "要删除的字符串"
另外在windows平台的powershell执行时,可以不要引号包括第二、三及以后的参数。

5

主题

19

回帖

0

牛值

江湖小虾

2025-3-22 18:31:41 楼主 显示全部楼层
我发现使用=>做替换符在linux系统下会引起歧义,所以更新了代码,将替换符改为##
现在不论是在windows平台或者是linux平台、不论是第几个参数都可以不用"包括,除非是特殊情况必须要用"包括(如待清理或替换的字符串中包含空格)。

1

主题

5

回帖

0

牛值

江湖小虾

2025-3-31 10:17:15 显示全部楼层
windows可以用renamer

3

主题

20

回帖

0

牛值

fnOS系统内测组

2025-4-8 14:51:40 显示全部楼层
我在win上用的utools工具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则