大家有没有智能批量修改文件名的方法或技巧

2020-05-29 22:31:10 +08:00
 how2ex

情况是这样的,有一堆文件,文件名按序号+标题的形式,比如 1.说明文档,2.操作手册,3.工作表……然后突然中间插入一个文件,为了序号的连续性,后面的文件的序号都要+1,好不容易改完了,可能又要插入个文件,又得改,好麻烦,有没有什么好的方法智能处理?

2139 次点击
所在节点    程序员
16 条回复
gejun123456
2020-05-30 08:04:23 +08:00
写代码改吧
810244966
2020-05-30 09:00:45 +08:00
我之前也是要改一堆的,正好那时候学 c 艹,便写了个改
teawithlife
2020-05-30 09:34:50 +08:00
简单写了一个单行命令,bash 下测试可用
注意:
1. 仅在 bash 做了简单测试,不保证其他 shell 可用,不保证适用于各种特殊情况
2. 文件名格式必须是”数字+小数点“开头,比如 1.xxx 2.yyy 100.zzz.zzz
3. 数字不允许重复,最好是连续,但不连续也没关系,最大不超过 1000,如果超过 1000,可自行修改 seq 后面的数值
4. 使用前修改前面的 x,比如要插入 3 号文件,就改成 x=3,要插入 100 号文件,就改成 x=100
5. 所有数字大于或等于 x 的文件名,数字都会依次加 1

x=4 ; for n in `seq 1000 -1 $x`; do if [ -f ${n}.* ] ; then f=$(ls ${n}.*); mv ”$f“ ”$((n+1)).${f#${n}.}“; fi; done

最后再次警告,不保证可用,不保证不损坏文件,使用前请做好备份
teawithlife
2020-05-30 09:38:16 +08:00
双引号被 v2 自动替换了,复制后请手动改一下双引号

试下 markdown
```
x=4 ; for n in `seq 1000 -1 $x`; do if [ -f ${n}.* ] ; then f=$(ls ${n}.*); mv "$f" "$((n+1)).${f#${n}.}"; fi; done
```
knives
2020-05-30 17:20:11 +08:00
批量命名工具的话,尚未见过比 https://www.den4b.com/products/renamer 功能更强的……
how2ex
2020-05-30 19:33:28 +08:00
@teawithlife
@knives
谢谢,学习学习!🤫
qile1
2020-05-31 02:51:16 +08:00
可以把这样不 1,2,3,4,
2 后面插入 2.1
how2ex
2020-05-31 11:17:10 +08:00
@qile1 这样就不规范了,哈哈
u823tg
2020-05-31 16:32:45 +08:00
自己写脚本
baobao1270
2020-05-31 19:18:53 +08:00
File Renamer
自己 Python 写个脚本
demen
2020-05-31 23:27:43 +08:00
如果你想偷懒的话,推荐个看图软件 XnView 批量改名( 包括扩展名)非常方便,虽然是附带的改名功能,不过批量文件改名的多样性也是毫不含糊
zhiiker
2020-06-01 07:56:32 +08:00
zhiiker
2020-06-01 07:59:19 +08:00
抱歉,刚刚看了 PowerToys 不支持你说的那个需求,可以用(ReNamer)[https://wzfou.com/renamer/]
qwerthhusn
2020-06-01 10:01:42 +08:00
写个程序改一下不就行了?程序员是做什么的?
how2ex
2020-06-01 19:17:11 +08:00
@qwerthhusn 其实我不是程序员😂
how2ex
2020-06-01 19:21:02 +08:00
@zhiiker 谢谢!
@demen 你说的应该是批量改名,可能不适合我的情况

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

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

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

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

© 2021 V2EX