Mac监控文件夹自动执行任务需用Manus或Automator+launchd:Manus需授权终端权限、拖入路径建规则;launchd须用绝对路径写plist并load,WatchPaths不支持~缩写。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Mac自动监控某个文件夹,一旦有新文件放入就立刻执行重命名、转格式或发邮件等操作,避免每天手动点开终端敲命令。
用Manus设置文件夹监控任务
打开Manus桌面应用,确保已登录并完成本地终端权限授权。若首次使用,系统会弹出“允许访问终端”的系统提示,【必须点击‘始终允许’】,否则后续所有自动化指令都无法执行。
点击左侧导航栏的「智能文件夹」→「新建监控规则」。
在路径输入框中,直接将目标文件夹拖入——这是最稳的方式,能彻底避开路径拼写错误;如果手输,请用~/Downloads这类波浪符缩写,别写成/Users/yourname/Downloads,后者在不同账号下会失效。
选择触发动作:比如选「当新增PDF文件时」→「自动转为Word并保存到同目录」,Manus会自动生成对应终端命令链,你无需看懂pdf2word或libreoffice --headless这些底层调用。
用Automator+launchd实现无Manus环境下的长期监控
方法一:基础Automator工作流+快速操作
打开“自动操作”,新建“文件夹操作”文稿。
添加「获取指定的Finder项目」→「移动 Finder 项目」→「运行Shell脚本」三步,最后一环里粘贴你的处理命令,例如for f in "$@"; do sips -s format jpeg "$f" --out "${f%.*}.jpg"; done。
导出为「快速操作」,名称设为「JPEG批量转存」,勾选「在访达中」和「文件或文件夹」。
现在只要把文件拖进目标文件夹,再右键该文件夹→「服务」→「JPEG批量转存」,就能手动触发一次——但这不是自动的,仅作备用。
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
方法二:用launchd让监控真正常驻后台
第一步:在~/Library/LaunchAgents/下新建一个plist文件,命名为com.user.folderwatch.plist。
第二步:用文本编辑器写入以下内容(注意把YOUR_SCRIPT_PATH替换成你实际存放shell脚本的绝对路径):
<?xml version="1.0" encoding="UTF-8"?><br><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><br><plist version="1.0"><br><dict><br><key>Label</key><br><string>com.user.folderwatch</string><br><key>ProgramArguments</key><br><array><br><string>/bin/zsh</string><br><string>YOUR_SCRIPT_PATH</string><br></array><br><key>WatchPaths</key><br><array><br><string>/Users/yourname/MonitoredFolder</string><br></array><br><key>RunAtLoad</key><br><true/><br></dict><br></plist>
第三步:在终端执行launchctl load ~/Library/LaunchAgents/com.user.folderwatch.plist,监控立即生效。下次重启Mac也会自动加载。
【WatchPaths只支持绝对路径,不能用~或.】写错会导致launchd静默失败,且不会报错提示。
验证监控是否真正在跑
打开“终端”,输入launchctl list | grep folderwatch,如果返回一行含com.user.folderwatch的记录,说明进程已注册。
往监控文件夹里丢一个测试文件,几秒后检查目标动作是否发生——比如新生成的.jpg文件是否出现,或邮件是否发出。
如果没反应,先检查脚本本身能否手动运行:zsh /your/script/path.sh /path/to/testfile,排除脚本逻辑问题。

















