这种情况怎样批量重命名?(文件名包含的数字减 1)

2022-03-09 19:49:19 +08:00
 aocif23

文件如下

02_1.txt

02_2.txt

02_3.txt

03_1.txt

03_2.txt

03_3.txt

04_1.txt

04_2.txt

04_3.txt

....

nn_n.txt

想将前面 2 位数字减 1

02_1.txt -> 01_1.txt

02_2.txt -> 01_2.txt

1263 次点击
所在节点    问与答
12 条回复
dcsuibian
2022-03-09 19:59:24 +08:00
用你最熟悉的语言,直接开写
cnrting
2022-03-09 20:02:51 +08:00
当你问完这个问题,脚本都已经写好了
oneisall8955
2022-03-09 20:09:39 +08:00
写 shell10 分钟的事情
iyear
2022-03-09 20:21:48 +08:00
不会写脚本就 advanceRenamer ,然而配置规则也挺麻烦还不如写个小脚本
shinsekai
2022-03-09 21:10:52 +08:00
菲菲更名助手
hsfzxjy
2022-03-09 21:25:24 +08:00
注意从小到大遍历,不然会覆盖
jaredyam
2022-03-09 21:26:32 +08:00
[command line - Subtract 1 from all file names (rename them) in a directory. - Unix & Linux Stack Exchange]( https://unix.stackexchange.com/questions/116770/subtract-1-from-all-file-names-rename-them-in-a-directory )
darklights
2022-03-09 22:03:16 +08:00
Powershell:
ls *.txt | sort | ?{$_.Name -match '^(\d+)(_.+\.txt)$'} | %{$s=$Matches[1]; $n=$s.Length; Rename-Item $_ "$(([string]([int]$s-1)).PadLeft($n,'0'))$($Matches[2])"}

测试通过。建议先备份。
darklights
2022-03-09 22:04:57 +08:00
花了不止 10 分钟,惭愧……
quzard
2022-03-09 22:06:26 +08:00
微软官方有工具可以做这个事情
autoxbc
2022-03-10 00:09:18 +08:00
用高级语言写,不要用 shell
tubimasky
2022-03-10 16:21:43 +08:00
菲菲更名宝贝

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/839217

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX