![ImageMagick - 如何避免使用 mogrify 覆盖现有文件?](https://linux22.com/image/1629793/ImageMagick%20-%20%E5%A6%82%E4%BD%95%E9%81%BF%E5%85%8D%E4%BD%BF%E7%94%A8%20mogrify%20%E8%A6%86%E7%9B%96%E7%8E%B0%E6%9C%89%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我有以下文件./
:
a.jpg
b.jpg
256/a.jpg
我正在运行此命令将文件转换为 256px:
mogrify -path ./256/ -resize 256x256 *.jpg
但是此命令始终会覆盖 中的现有文件256
,例如256/a.jpg
。即使图像看起来相同,git diff
仍会检测到文件中的变化。如何避免用 覆盖现有文件mogrify
?
版本:
ImageMagick 7.0.10-23 Q16 x86_64 2020-07-05
64bit Mac OS X 10.15.6 19G73
编辑:
我想要的结果是:
a.jpg
b.jpg
256/a.jpg (Unchanged)
256/b.jpg (Created)
@Sam Forbis 的回答
使用convert -resize 256x256 *.jpg -append ./256/*.jpg
将导致:
a.jpg
b.jpg
256/a.jpg (Unchanged)
255/a-0.jpg (Created)
256/a-1.jpg (Created)
答案1
您应该使用命令convert
而不是mogrify
。从手册页mogrify
:
Mogrify 会覆盖原始图像文件,而 convert 则会写入不同的图像文件。
看起来输入选项与 相同convert
。您只需指定输出选项和输出文件名,如手册页convert
:
convert [input-options] input-file [output-options] output-file