如何使用批处理或命令行从OSX中的文件中剥离EXIF信息


18

我知道有几个Windows程序可以执行此操作,而Photoshop具有执行此操作的“另存为Web”选项,但是我想为此使用命令行或批处理选项。有什么想法吗?


您是否尝试过Automator,也许通过第三方操作(例如Pixelmator?)进行了尝试?
丹尼尔·贝克

Answers:


31

看看Imagemagick。它的-strip选项清除所有配置文件和注释的图像。

convert orig.jpg -strip result.jpg

要么

mogrify -strip orig.jpg

这是有关使用Imagemagick处理照片的更多信息


1
我不想花很多时间,尽管有兴趣与Imagemagick一起工作,但还是要花10多分钟来配置它。我尝试了SmallImage,并在2分钟内得到了想要的东西。

1
@ user200507要引用OP,“我想要一个命令行选项,或为此的批处理选项。” 我支持Imagemagick在这方面是最好的。
Ellesa

Imagemagick strip还从我的半透明红色圆圈中删除了绿色和蓝色通道,从而留下了无元数据的不透明红色圆圈。
psoft

6

我使用的是Mac OS X(当前为10.9(小牛)),我喜欢将ExifTool用于这样的批处理元数据操作。从Mac OS X 10.6起,甚至在Ubuntu等不同版本的Linux上都使用了它,并且效果很好。

就批量脚本而言,我使用了非常简单的Bash脚本,该脚本find用于擦除图像中的所有元数据。在这种情况下,JPEG(.jpg)图像:

find 'Path/To/The/Images' -type f -name '*.jpg' |\
  while read FILENAME
  do
    exiftool -all= -overwrite_original_in_place "${FILENAME}"
  done

要使用脚本,只需更改'Path/To/The/Images'使其与您的实际图像文件目录路径相匹配即可。它可以是完整路径,也可以是相对路径,在这种情况下,它是相对路径。而且,您可以更改'*.jpg'以匹配您希望使用的任何文件扩展名,甚至可以将其设置'*'为盲目处理所有文件。我通常会处理JPEG,因此会.jpg在这个小示例脚本中处理扩展名。

该脚本的核心魔术是实际exiftool命令,可以将其进一步简化为:

exiftool -all= -overwrite_original_in_place image_filename.jpg

-all=是怎样通过将所有元数据字段为等于没有价值湿巾的元数据。在-overwrite_original_in_place将覆盖实际图像。它不会在读取文件,处理元数据并将其写回到系统之前重新处理图像。如果没有该标志,exiftool将复制原始文件并_original附加扩展名。所以在这种情况下image_filename.jpg_original。最后一个参数就是您要操作的文件名。



0

exiv2工具(安装使用自制软件)提供了一种快速简单的方法来从一个或多个文件如取出EXIF信息:

exiv2 rm myfile1.jpg myfile1.jpg  
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.