You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ImageMagick mogrify命令在Automator中报错及解决过程

解决Automator服务执行ImageMagick图片格式转换脚本的问题

问题描述

编写了一段用于将非.jpg格式图片转换为jpg并删除原文件的脚本:

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

该脚本在终端运行正常,但创建为Automator右键服务执行时,先后遇到两个问题:

  • 报错zsh:1: command not found: mogrify
  • 解决命令路径问题后,出现脚本执行目录错误的情况

解决方案

1. 修复“command not found: mogrify”问题

Automator的Shell环境PATH与终端不一致,无法直接找到mogrify命令。对于Homebrew安装的ImageMagick,需使用完整路径的magick命令(Homebrew版ImageMagick统一以magick作为入口调用子命令),替换原命令中的mogrify:

/opt/homebrew/bin/magick mogrify -format jpg *.* && find . -type f  ! -name "*.jpg"  -delete

2. 修复执行目录错误问题

Automator默认工作目录并非选中文件/文件夹的目录,需先切换到目标目录再执行脚本。需将Automator的“Run Shell Script”动作设置为传递输入:作为参数,然后使用以下脚本:

for item in "$@"; do
    # 切换到当前项所在目录
    target_dir=$(dirname "$item")
    cd "$target_dir" || exit 1
    # 执行转换及删除操作
    /opt/homebrew/bin/magick mogrify -format jpg *.* && find . -type f ! -name "*.jpg" -delete
done

最终效果

调整后的脚本可通过Automator右键服务,正确处理选中的文件或目录,完成格式转换并清理原文件。

内容的提问来源于stack exchange,提问作者Lirrr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 21:23:28