如何让Automator服务将转换后的图片保存至原文件夹?
解决Automator图片转PDF后保存至原文件夹的问题
我完全懂你的困扰——默认配置的Automator工作流很容易被固定死的保存路径绑住,没法直接把转换好的PDF丢回原图片所在的文件夹。下面给你两种简单有效的调整方案,随便选一种都能解决问题:
方案一:修改现有工作流的保存动作(最快捷)
如果你不想动太多现有设置,直接调整保存动作的路径就行:
- 打开你的Automator服务工作流,找到那个指定了固定文件夹的动作(比如「移动Finder项目」或者「拷贝Finder项目」)
- 点击动作里的文件夹选择框,按住Option键,你会看到原本的「选取」按钮变成了「替换」,点它
- 这时会弹出变量面板(如果没看到,就点顶部菜单栏的「显示」→「显示变量面板」),找到并选择「工作流输入的文件夹」
- 搞定!以后转换后的PDF就会自动保存到原图片所在的文件夹了
方案二:用Shell脚本实现更灵活的转换(适合自定义需求)
如果想顺便控制PDF的文件名或者做更多自定义,用Shell脚本更靠谱:
- 把工作流里原来的保存动作删掉,添加一个「运行Shell脚本」动作
- 在脚本的输入设置里,选择「作为参数」
- 把下面的代码粘贴进去:
for f in "$@" do # 获取原图片所在的目录路径 source_dir=$(dirname "$f") # 获取原图片的文件名(去掉后缀) base_name=$(basename "$f" | cut -d. -f1) # 调用sips命令转换为PDF,直接输出到原目录 sips -s format pdf "$f" --out "$source_dir/$base_name.pdf" done
- 这个脚本会自动遍历每一张你选中的图片,转换后的PDF文件名和原图片完全一致,直接存到原文件夹里
小提醒
- 如果你的工作流用的是「转换图像格式」动作,记得把输出格式设为PDF,再配合方案一的变量设置,同样能实现保存到原文件夹的效果
- 调整完后建议拿一张测试图跑一遍,确认路径和文件名都符合预期
内容的提问来源于stack exchange,提问作者Hussein Ali
相关产品推荐
相关产品推荐

