如何让Apple Automator快速操作将图片压缩至700像素生效?
解决Automator快速操作sips脚本不生成文件的问题
1. 排查文件路径与权限
- Automator的Shell脚本默认工作目录是当前用户的个人目录(
/Users/你的用户名),先去这个目录里找找是否生成了目标文件。 - 临时修改脚本,指定绝对输出路径(比如桌面)测试,把
"${f%.*}.700px.jpg"替换为"/Users/你的用户名/Desktop/${f%.*}.700px.jpg",看文件是否出现在桌面。 - 确保源文件所在路径有读写权限,比如外接硬盘的文件可能权限受限,先复制到本地目录再测试。
2. 修正Automator脚本设置
- 在「运行Shell脚本」动作的顶部,确认「传递输入」选项选择的是作为自变量,如果选了「到标准输入」,
$@无法获取正确的文件路径。 - 尝试切换Shell环境,把默认的
/bin/zsh或/bin/bash改成/bin/sh,部分环境变量差异可能导致路径解析异常。
3. 添加调试日志定位问题
修改脚本加入错误捕获,生成调试日志:
for f in "$@" do echo "当前处理文件: $f" >> ~/Desktop/sips_debug.log # 捕获sips的错误输出 /usr/bin/sips -Z 700 "$f" --out "${f%.*}.700px.jpg" 2>> ~/Desktop/sips_debug.log # 检查文件是否生成 if [ -f "${f%.*}.700px.jpg" ]; then echo "文件生成成功: ${f%.*}.700px.jpg" >> ~/Desktop/sips_debug.log /usr/bin/pbcopy < "${f%.*}.700px.jpg" else echo "文件生成失败" >> ~/Desktop/sips_debug.log fi done
运行后查看桌面的sips_debug.log,里面会显示具体错误信息(比如格式不支持、路径不存在等)。
4. 验证文件格式兼容性
sips对RAW、WebP等特殊格式支持有限,先拿本地桌面的普通JPG/PNG图片测试,排除格式问题。- 如果源文件是HEIC格式,需要先转成JPG再处理,或者给
sips加上格式转换参数(比如--setProperty format jpeg)。
内容的提问来源于stack exchange,提问作者code-8
相关产品推荐
相关产品推荐

