V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
how2ex
V2EX  ›  程序员

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

  •  
  •   how2ex · 2020-05-29 22:31:10 +08:00 · 2315 次点击
    这是一个创建于 1657 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    16 条回复    2020-06-01 19:21:02 +08:00
    gejun123456
        1
    gejun123456  
       2020-05-30 08:04:23 +08:00 via iPhone
    写代码改吧
    810244966
        2
    810244966  
       2020-05-30 09:00:45 +08:00 via Android
    我之前也是要改一堆的,正好那时候学 c 艹,便写了个改
    teawithlife
        3
    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
        4
    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
        5
    knives  
       2020-05-30 17:20:11 +08:00
    批量命名工具的话,尚未见过比 https://www.den4b.com/products/renamer 功能更强的……
    how2ex
        6
    how2ex  
    OP
       2020-05-30 19:33:28 +08:00
    @teawithlife
    @knives
    谢谢,学习学习!🤫
    qile1
        7
    qile1  
       2020-05-31 02:51:16 +08:00 via Android
    可以把这样不 1,2,3,4,
    2 后面插入 2.1
    how2ex
        8
    how2ex  
    OP
       2020-05-31 11:17:10 +08:00
    @qile1 这样就不规范了,哈哈
    u823tg
        9
    u823tg  
       2020-05-31 16:32:45 +08:00
    自己写脚本
    baobao1270
        10
    baobao1270  
       2020-05-31 19:18:53 +08:00
    File Renamer
    自己 Python 写个脚本
    demen
        11
    demen  
       2020-05-31 23:27:43 +08:00
    如果你想偷懒的话,推荐个看图软件 XnView 批量改名( 包括扩展名)非常方便,虽然是附带的改名功能,不过批量文件改名的多样性也是毫不含糊
    zhiiker
        13
    zhiiker  
       2020-06-01 07:59:19 +08:00
    抱歉,刚刚看了 PowerToys 不支持你说的那个需求,可以用(ReNamer)[https://wzfou.com/renamer/]
    qwerthhusn
        14
    qwerthhusn  
       2020-06-01 10:01:42 +08:00
    写个程序改一下不就行了?程序员是做什么的?
    how2ex
        15
    how2ex  
    OP
       2020-06-01 19:17:11 +08:00 via iPhone
    @qwerthhusn 其实我不是程序员😂
    how2ex
        16
    how2ex  
    OP
       2020-06-01 19:21:02 +08:00 via iPhone
    @zhiiker 谢谢!
    @demen 你说的应该是批量改名,可能不适合我的情况
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5024 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:53 · PVG 15:53 · LAX 23:53 · JFK 02:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.