我知道有几种 Windows 程序可以执行此操作,Photoshop 有一个“存储为 Web”选项可以执行此操作,但我想要一个命令行或批处理选项。有什么想法吗?
答案1
看一下Imagemagick. 它的-strip
选项是清除所有个人资料和评论的图像。
convert orig.jpg -strip result.jpg
或者
mogrify -strip orig.jpg
以下是更多信息使用 Imagemagick 处理照片。
答案2
我使用 macOS(目前为 11.1(Big Sur)),并且我喜欢使用Exif工具用于此类批量元数据操作。从 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
。 最后一个参数只是您要操作的文件名。
答案3
这exiv2工具(可使用 homebrew 安装)提供了一种快速简单的方法来从一个或多个文件中删除 EXIF 信息,例如:
exiv2 rm myfile1.jpg myfile1.jpg
答案4
实际上 nconvert 从 jpg 中剥离了更多内容
http://www.xnview.com/en/nconvert/#downloads
nconvert.exe -rmeta -rexifthumb -o small.jpg big.jpg