解决 "no writeable tags set" 错误
Troubleshooting "no writeable tags set" error
我正在尝试(最终)修改一批文件,但在 运行 批处理命令之前尝试修改单个文件时陷入了基础。
如果有人可以帮我解决我输入的命令问题,那就太好了。我敢肯定这很简单。
非常感谢您提供的任何帮助!
这是简化的图像 exif 数据:
-ExifToolVersion=10.10
-FileName=2018_11_13_1.jpeg
-Directory=.
-FileSize=2.8 MB
-FileModifyDate=2019:07:12 15:40:38-07:00
-FileAccessDate=2019:07:12 15:40:38-07:00
-FileInodeChangeDate=2019:07:23 10:38:02-07:00
-FilePermissions=rw-rw-r--
-FileType=JPEG
-FileTypeExtension=jpg
-MIMEType=image/jpeg
[...]
-ModifyDate=2018:11:13 12:00:53
[...]
-DateTimeOriginal=2018:11:13 12:00:53
-CreateDate=2018:11:13 12:00:53
我当前的输入是:exiftool "-FileModifyDate<$filename00000" ./2018_11_13_1.jpeg
错误信息是:
Warning: No writable tags set from 2018_11_13_1.jpeg
0 image files updated
1 image files unchanged
当然,exif 数据是不变的。
我已经确认我可以为这个标签写入一个值,所以从文件名中提取肯定有问题。
(接)
这里的问题是您正试图从名为 filename00000
的标签写入。如果查看另一个 post 中的示例,您会看到 Filename
之后有一个 space。这将它分开,以便 exiftool 知道哪个是标签名称,哪个是其他数据。
不过这里可能还有一个问题。您的文件名有一个额外的数字,不是日期。当 exiftool 尝试从文件名写入时间戳时,它将以“2018:11:13 10:00:00”的值结束,如果最后一位数字达到值 3 或更多,导致时间戳为“2018:11:13 30:00:00”。
我建议使用 exiftool 的 Advanced Formatting Feature(一种可以在命令中使用 perl 代码的奇特方式)去除多余的数据。像
exiftool "-FileModifyDate<${filename;s/^(.*\d{4}_\d\d_\d\d).*//} 000000" ./2018_11_13_1.jpeg
但请注意,如果文件名是任何其他格式,则需要不同的命令。
我正在尝试(最终)修改一批文件,但在 运行 批处理命令之前尝试修改单个文件时陷入了基础。
如果有人可以帮我解决我输入的命令问题,那就太好了。我敢肯定这很简单。
非常感谢您提供的任何帮助!
这是简化的图像 exif 数据:
-ExifToolVersion=10.10
-FileName=2018_11_13_1.jpeg
-Directory=.
-FileSize=2.8 MB
-FileModifyDate=2019:07:12 15:40:38-07:00
-FileAccessDate=2019:07:12 15:40:38-07:00
-FileInodeChangeDate=2019:07:23 10:38:02-07:00
-FilePermissions=rw-rw-r--
-FileType=JPEG
-FileTypeExtension=jpg
-MIMEType=image/jpeg
[...]
-ModifyDate=2018:11:13 12:00:53
[...]
-DateTimeOriginal=2018:11:13 12:00:53
-CreateDate=2018:11:13 12:00:53
我当前的输入是:exiftool "-FileModifyDate<$filename00000" ./2018_11_13_1.jpeg
错误信息是:
Warning: No writable tags set from 2018_11_13_1.jpeg
0 image files updated
1 image files unchanged
当然,exif 数据是不变的。
我已经确认我可以为这个标签写入一个值,所以从文件名中提取肯定有问题。
(接
这里的问题是您正试图从名为 filename00000
的标签写入。如果查看另一个 post 中的示例,您会看到 Filename
之后有一个 space。这将它分开,以便 exiftool 知道哪个是标签名称,哪个是其他数据。
不过这里可能还有一个问题。您的文件名有一个额外的数字,不是日期。当 exiftool 尝试从文件名写入时间戳时,它将以“2018:11:13 10:00:00”的值结束,如果最后一位数字达到值 3 或更多,导致时间戳为“2018:11:13 30:00:00”。
我建议使用 exiftool 的 Advanced Formatting Feature(一种可以在命令中使用 perl 代码的奇特方式)去除多余的数据。像
exiftool "-FileModifyDate<${filename;s/^(.*\d{4}_\d\d_\d\d).*//} 000000" ./2018_11_13_1.jpeg
但请注意,如果文件名是任何其他格式,则需要不同的命令。