news 2026/5/12 10:05:39

Mac访达右键菜单太简陋?教你用Automator自制‘新建Markdown’、‘压缩到Zip’等实用右键选项

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Mac访达右键菜单太简陋?教你用Automator自制‘新建Markdown’、‘压缩到Zip’等实用右键选项

解锁Mac访达右键菜单的隐藏潜力:用Automator打造高效工作流

每次在Mac的访达中右键点击文件时,是否总觉得菜单选项太过基础?作为Windows转Mac的用户,我最初也常怀念那种高度自定义的右键功能。直到发现Automator这个内置神器,才真正释放了Mac文件管理的全部潜能。本文将带你从零开始,打造一套专属于你的右键菜单增强工具集。

1. 为什么需要自定义访达右键菜单

MacOS的访达在设计上追求极简,但这也意味着许多常用操作需要多次点击才能完成。想象一下这样的场景:你刚下载了一堆图片需要统一转换为WebP格式,或者需要快速将当前文件夹打包成zip并加上日期后缀。原生访达要么无法直接完成,要么需要绕道其他应用。

Automator作为Mac内置的自动化工具,能让我们创建"快速操作"(即服务),这些服务可以精准出现在特定上下文环境的右键菜单中。与第三方工具不同,这种方式完全原生,不会影响系统稳定性,也不需要额外安装软件。

几个典型使用场景:

  • 设计师需要快速将PSD导出为PNG
  • 开发者希望右键直接新建Markdown文件
  • 行政人员经常要批量重命名发票PDF
  • 任何用户都需要更快捷的文件压缩/解压功能

2. Automator快速操作基础配置

2.1 创建你的第一个右键服务

让我们从最简单的"新建Markdown文件"开始:

  1. 打开启动台其他文件夹→ 启动Automator
  2. 在弹出的对话框中选择快速操作(在较旧系统版本中可能显示为"服务")
  3. 在工作流配置区域设置:
    • 工作流程收到当前:选择"文件或文件夹"
    • 位于:选择"访达"
  4. 在左侧动作库中,导航至实用工具→ 双击运行AppleScript
  5. 替换默认脚本为以下代码:
on run {input, parameters} tell application "Finder" set newFile to make new file at (get insertion location) with properties {name:"未命名.md"} end tell return input end run
  1. 按下⌘S保存,命名为"新建Markdown文件"

提示:如果服务没有立即出现在右键菜单,尝试重启访达(按住Option键右键点击Dock中的访达图标,选择"重新启动")

2.2 服务可见性优化技巧

新创建的服务有时不会出现在预期位置,这通常是由于上下文匹配问题。以下是确保服务精准显示的配置要点:

配置项推荐设置作用说明
工作流程收到当前文件或文件夹控制在选中文件时的显示
位于访达限定只在访达中显示
输入处理无选择时的情况
输出避免不必要的返回

如果服务仍然不显示,检查:

  • 系统偏好设置 → 键盘 → 快捷键 → 服务 → 确认对应服务已启用
  • 服务文件是否保存在~/Library/Services目录下

3. 进阶实用服务案例

3.1 智能压缩服务

原生Mac的压缩功能无法自定义输出名称,下面创建一个带日期时间戳的压缩服务:

  1. 新建快速操作,配置同前
  2. 添加运行Shell脚本动作,使用以下代码:
for f in "$@" do zip -r "${f}_$(date +%Y%m%d_%H%M%S).zip" "$f" done
  1. 保存为"压缩并添加时间戳"

参数说明:

  • $@表示所有选中的文件/文件夹
  • date +%Y%m%d_%H%M%S生成当前日期时间
  • -r参数确保递归压缩文件夹内容

3.2 图片格式转换服务

无需打开Photoshop,直接右键转换图片格式:

  1. 创建新快速操作,设置接收"图像文件"
  2. 添加运行Shell脚本动作,使用sips工具:
for f in "$@" do /usr/bin/sips -s format webp "$f" --out "${f%.*}.webp" done
  1. 保存为"转换为WebP格式"

注意:sips工具支持多种格式转换,包括JPEG、PNG、TIFF等,只需修改-s format后的参数

4. 服务管理与维护

4.1 组织你的服务集合

随着创建的服务增多,需要合理组织:

  • 命名规范:使用动词开头,如"转换-XXX"、"压缩-XXX"
  • 分类存储:在~/Library/Services中创建子文件夹
  • 图标定制:使用/usr/bin/SetFile -a C 服务名称.workflow命令添加自定义图标

4.2 服务故障排查指南

当服务不正常工作时,按以下步骤排查:

  1. 检查执行权限

    chmod +x ~/Library/Services/*.workflow/Contents/document.wflow
  2. 查看系统日志

    log stream --predicate 'subsystem == "com.apple.Automator"'
  3. 测试脚本独立运行:将脚本内容复制到终端直接执行,验证是否有效

4.3 服务分享与同步

要在多台Mac间同步你的自定义服务:

  1. 打包Services文件夹:

    tar -czvf my_services.tar.gz -C ~/Library Services
  2. 在新机器上恢复:

    tar -xzvf my_services.tar.gz -C ~/Library
  3. 刷新服务列表:

    /System/Library/CoreServices/pbs -update

5. 超越基础:结合其他工具增强功能

5.1 集成Shortcuts实现复杂逻辑

对于需要多步骤判断的操作,可以:

  1. 在Shortcuts中创建复杂工作流
  2. 在Automator中用"运行Shortcut"动作调用
  3. 示例:根据文件类型执行不同操作
on run {input, parameters} tell application "Shortcuts Events" run the shortcut named "文件处理路由器" with input input end tell return input end run

5.2 调用Python/Node.js脚本

当Shell脚本能力不足时,可以调用更强大的脚本语言:

  1. 创建.py或.js文件,确保首行包含解释器路径(如#!/usr/bin/env python3)
  2. 在Automator中用"运行Shell脚本"调用:
    /path/to/script.py "$@"

Python示例:智能重命名服务

#!/usr/bin/env python3 import sys, os from datetime import datetime for f in sys.argv[1:]: base = os.path.splitext(f)[0] ext = os.path.splitext(f)[1] new_name = f"{base}_{datetime.now().strftime('%Y%m%d')}{ext}" os.rename(f, new_name)

5.3 与Alfred等启动器联动

通过Alfred的Workflow功能,可以键盘触发这些服务:

  1. 在Alfred中创建Keyword触发
  2. 动作为"Run NSAppleScript":
    tell application "Finder" set selected to selection as list tell application "Automator Runner" run workflow "压缩并添加时间戳" in ~/Library/Services with input selected end tell end tell

这种组合方式实现了右键菜单与键盘快捷键的双重操作路径,适应不同场景需求。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 10:01:35

Cucumber 测试工具通俗讲解

一、是什么 Cucumber 是一款开源 BDD(行为驱动开发)自动化测试框架,最大特点:用普通人能看懂的自然语言写测试用例,再自动转成代码执行自动化测试。 二、核心作用 业务、测试、开发用一套用例产品 / 不懂代码的人也…

作者头像 李华
网站建设 2026/5/12 10:00:33

仿真跑得慢、步长缩到飞?你可能遇到了“刚性问题“

仿真跑得慢、步长缩到飞?你可能遇到了"刚性问题" 同样的模型,换一个求解器,速度相差 100 倍——这不是玄学,是数学。 前言:一次诡异的仿真经历 你有没有遇到过这种情况: 一个看起来并不复杂的模…

作者头像 李华
网站建设 2026/5/12 10:00:32

RapidVideOCR:解锁视频字幕智能提取的架构智慧

RapidVideOCR:解锁视频字幕智能提取的架构智慧 【免费下载链接】RapidVideOCR 🎦 Extract video hard subtitles and automatically generate corresponding srt files. 项目地址: https://gitcode.com/gh_mirrors/ra/RapidVideOCR 在数字内容爆…

作者头像 李华
网站建设 2026/5/12 9:56:34

OpenClaw Internals:开源AI智能体框架架构深度解析与贡献指南

1. 项目概述:深入开源AI智能体框架OpenClaw的内核如果你正在寻找一个能帮你快速构建、调试和部署AI智能体的开源框架,那么OpenClaw很可能已经进入了你的视野。但当你真正打开它的代码仓库,面对数十个模块和错综复杂的依赖关系时,是…

作者头像 李华