"no writeable tags set"错误疑难解答



我正在尝试(最终)修改一批文件,但在运行批处理命令之前尝试修改单个文件时陷入了基础知识。

如果有人可以帮助我解决我正在输入的命令,那就太棒了。我相信这是非常简单的事情。

非常感谢您能提供的任何帮助!

以下是缩写图像exif数据:

-ExifToolVersion=10.10

-文件名=2018_11_13_1.jpeg

-目录=。

-文件大小=2.8 MB

-文件修改日期=2019:07:12 15:40:38-07:00

-文件访问日期=2019:07:12 15:40:38-07:00

-文件InodeChangeDate=2019:07:23 10:38:02-07:00

-FilePermissions=rw-rw-r--

-文件类型=JPEG

-文件类型扩展名=jpg

-MIMEType=image/jpeg

[...]

-修改日期=2018:11:13 12:00:53

[...]

-日期时间原始=2018:11:13 12:00:53

-创建日期=2018:11:13 12:00:53

我目前的输入是:exiftool "-FileModifyDate<$filename00000" ./2018_11_13_1.jpeg

错误消息是:

警告:从 2018_11_13_1 开始未设置可写标记.jpeg

更新了 0 个图像文件

1 个图像文件未更改

当然,exif数据保持不变。

我已经确认我可以向这个标签写入一个值,所以从文件名中提取肯定有问题。

(续自如何补偿文件名中不完整的日期/时间信息)

这里的问题是您正在尝试从名为filename00000的标签写入。 如果您检查另一篇文章中的示例,您会发现Filename后面有一个空格。 这使它与众不同,以便exiftool知道哪个是标签名称,哪个是其他数据。

不过,这里可能还有一个额外的问题。 您的文件名有一个额外的数字,不是日期。 当exiftool尝试从文件名写入时间戳时,它最终将以"2018:11:13 10:00:00"结束,如果最后一个数字达到3或更大的值,这可能会变得特别成问题,导致时间戳为"2018:11:13 30:00:00"。

我建议使用 exiftool 的高级格式化功能(一种说法,您可以在命令中使用 perl 代码的奇特方式)来去除多余的数据。 类似
exiftool "-FileModifyDate<${filename;s/^(.*d{4}_dd_dd).*/$1/} 000000" ./2018_11_13_1.jpeg

但请注意,如果文件名采用任何其他格式,则需要不同的命令。

最新更新