为什么找不到 imagemagick mogrify 命令以及如何解决这个问题?

问题描述 投票:0回答:2

我正在尝试编写自动化服务,让所有图像从当前目录(或选定文件)中排除 .jpg,通过 imagemagick mogrify 将它们转换为 .jpg 并删除旧图像。

脚本:

mogrify -format jpg *.* && find . -type f  ! -name "*.jpg"  -delete

我已经在终端中尝试了我的脚本,它运行良好。

然后,我创建了自动化服务来从上下文菜单中做同样的事情,我被堆叠了。

会出错

“运行 Shell 脚本”操作遇到错误:“zsh:1: command 未找到:mogrify”

更新。

感谢 Mark Setchell,

/opt/homebrew/bin/magick
工作正常,但我仍然有错误,您可以在下面看到。看起来脚本在错误的文件夹中执行。

bash imagemagick automator mogrify
2个回答
1
投票

由于您在 Mac 上,您可能是通过 homebrew 安装的,因此 ImageMagick 二进制文件可能在

/usr/local/bin
/opt/somewhere
.

您可以在Terminal中使用此命令找到它:

find /opt /usr -name magick

所以如果你找到

/opt/somewhere/bin/magick
,使用:

/opt/somewhere/bin/magick mogrify ...

在你的脚本中。


在 v7 之前,ImageMagick 的套件中有很多命令 -

convert
mogrify
compare
compose
animate
conjure
display
等等。在 v7 中,所有命令都以
magick
为前缀,因此只有一个命令和 “命名空间污染较少” 正如一些人所说的那样。
convert
命令还用于与 Windows 上将文件系统从一种格式转换为另一种格式的 Microsoft
CONVERT.EXE
东西发生冲突。


0
投票

您需要在命令前添加“magick”。如果您已将 ImageMagick 添加为环境变量,就足够了。如果还没有,则需要 magick 可执行文件的路径。

© www.soinside.com 2019 - 2024. All rights reserved.