如何在不更改文件日期(修改日期)的情况下删除所有 EXIF 信息?
How to remove all EXIF informations without changing file date (modified date)?
我有一些带有很多 EXIF/标签信息的 JPEG 照片。
我想在不更改文件日期(修改日期)的情况下删除所有 EXIF 信息。你知道怎么做吗?
我使用的是 macOS Sierra,我知道一些终端命令。 (问题是ExifPurge之类的软件修改了修改日期)
谢谢!
您可以通过以下方式获取文件修改日期:
GetFileInfo -m image.jpg
08/29/2017 13:04:05
因此,如果您想将其保存在名为 saved
的变量中:
saved=$(GetFileInfo -m image.jpg)
现在,删除 EXIF...
并将日期设置回原来的日期:
SetFile -m "$saved" image.jpg
不确定你用什么工具删除EXIF数据,但我上次检查过,如果你使用jhead
,它不会改变修改时间:
jhead -de image.jpg
如果是这种情况,则不需要此答案的所有前面部分。因此,也许可以尝试将 jhead
与 copy 一起使用,仅在单独的测试目录中复制几个文件,如下所示:
jhead -de *.jpg
如果这不能满足您的要求,您需要制作一个小脚本来使用上述方法处理目录中的所有文件。这看起来像这样:
#!/bin/bash
shopt -s nullglob
for f in *.jpg; do
echo Processing file: $f
# Save modification date
saved=$(GetFileInfo -m "$f")
# DO YOUR EXIF REMOVAL ON FILE "$f" HERE
# Reset date
SetFile -m "$saved" "$f"
done
我有一些带有很多 EXIF/标签信息的 JPEG 照片。
我想在不更改文件日期(修改日期)的情况下删除所有 EXIF 信息。你知道怎么做吗?
我使用的是 macOS Sierra,我知道一些终端命令。 (问题是ExifPurge之类的软件修改了修改日期)
谢谢!
您可以通过以下方式获取文件修改日期:
GetFileInfo -m image.jpg
08/29/2017 13:04:05
因此,如果您想将其保存在名为 saved
的变量中:
saved=$(GetFileInfo -m image.jpg)
现在,删除 EXIF...
并将日期设置回原来的日期:
SetFile -m "$saved" image.jpg
不确定你用什么工具删除EXIF数据,但我上次检查过,如果你使用jhead
,它不会改变修改时间:
jhead -de image.jpg
如果是这种情况,则不需要此答案的所有前面部分。因此,也许可以尝试将 jhead
与 copy 一起使用,仅在单独的测试目录中复制几个文件,如下所示:
jhead -de *.jpg
如果这不能满足您的要求,您需要制作一个小脚本来使用上述方法处理目录中的所有文件。这看起来像这样:
#!/bin/bash
shopt -s nullglob
for f in *.jpg; do
echo Processing file: $f
# Save modification date
saved=$(GetFileInfo -m "$f")
# DO YOUR EXIF REMOVAL ON FILE "$f" HERE
# Reset date
SetFile -m "$saved" "$f"
done