我正在尝试编写自动化服务,让所有图像从当前目录(或选定文件)中排除 .jpg,通过 imagemagick mogrify 将它们转换为 .jpg 并删除旧图像。
脚本:
mogrify -format jpg *.* && find . -type f ! -name "*.jpg" -delete
我已经在终端中尝试了我的脚本,它运行良好。
然后,我创建了自动化服务来从上下文菜单中做同样的事情,我被堆叠了。
会出错
“运行 Shell 脚本”操作遇到错误:“zsh:1: command 未找到:mogrify”
更新。
感谢 Mark Setchell,
/opt/homebrew/bin/magick
工作正常,但我仍然有错误,您可以在下面看到。看起来脚本在错误的文件夹中执行。
由于您在 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
东西发生冲突。
您需要在命令前添加“magick”。如果您已将 ImageMagick 添加为环境变量,就足够了。如果还没有,则需要 magick 可执行文件的路径。