You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

find命令配合exiftool将jpg所属文件夹名设为序列号的参数替换方案

解决方案

你可以根据自己需要的序列号格式选择对应方案:

方案1:使用exiftool内置路径变量(推荐)

exiftool自带directory内置变量可直接读取当前匹配文件的目录路径,注意在shell中执行时需要对$加转义符,避免变量被shell提前解析,同时补全find命令缺失的文件占位符{}和结束符\;即可。

  • 如果要把文件所在目录的完整路径设为序列号,使用以下命令:
find . -type f -name "*.jpg" -exec exiftool -SerialNumber="\${directory}" {} \;
  • 如果要把文件所在目录的最后一级名称(比如路径为./trip/20240501/1.jpg就取20240501)设为序列号,使用以下命令:
find . -type f -name "*.jpg" -exec exiftool -SerialNumber="\${directory;s/.*\///}" {} \;

方案2:借助shell处理路径

如果你习惯用shell命令提取目录,可以调用bash子进程处理:

  • 以完整目录路径作为序列号的命令:
find . -type f -name "*.jpg" -exec bash -c 'dir=$(dirname "{}"); exiftool -SerialNumber="$dir" "{}"' \;

补充说明

exiftool默认会为修改的文件生成带_original后缀的备份,如果不需要备份,可以在exiftool参数中加入-overwrite_original直接覆盖原文件。


内容的提问来源于stack exchange,提问作者Noppe Cederqvist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 01:45:04