如何修改ExifTool脚本实现重复文件名自动递增命名?
解决ExifTool重复文件名自动递增序号的问题
嘿,这个需求用ExifTool自带的功能就能轻松搞定,不用折腾复杂的脚本逻辑!
你只需要在原脚本里添加一行文件名规则,利用ExifTool内置的%c格式符——它会自动检测目标目录里的同名文件,一旦发现重复,就会在文件名末尾(扩展名前)自动加上_1、_2这类递增序号;如果没有重复,就完全保留原文件名,不会多添冗余字符。
修改后的完整脚本
exiftool -o . '-Directory<$createdate/${model;}' '-FileName<%f_%c.%e>' -d "/你的基础存储路径/%Y/%m/%d"
关键修改细节
-FileName<%f_%c.%e>:这是实现自动序号的核心%f:提取原文件名的主体部分(不含扩展名,比如IMG_20170404_170509)%c:自动触发递增序号,仅当目标位置已存在同名文件时生效%e:完整保留原文件的扩展名(比如JPG)
- 你原脚本里的
-Directory和-d参数可以完全保留,继续按创建日期+相机型号分类存放文件,和序号功能互不冲突
效果示例
- 第一个同名文件:
IMG_20170404_170509.JPG(正常保留原名) - 第二个同名文件:自动重命名为
IMG_20170404_170509_1.JPG - 第三个同名文件:自动重命名为
IMG_20170404_170509_2.JPG
如果你的需求是移动文件而非复制,把脚本里的-o .替换成-delete_original即可(复制完成后自动删除原文件),序号功能依然正常工作。
内容的提问来源于stack exchange,提问作者spesmagna
相关产品推荐
相关产品推荐

