)
MacOS自动操作神器3个隐藏功能一键搞定含脚本解析每次看到MacOS用户还在手动执行重复操作时我都忍不住想分享Automator这个系统自带的效率神器。作为从Snow Leopard时代就开始折腾自动化脚本的老用户我见证了Automator从简单的拖拽工具进化成如今支持Shell脚本、AppleScript、JavaScript的自动化平台。今天我们就深入三个高频但鲜为人知的功能——它们完美诠释了如何用脚本操控系统底层功能。1. 桌面图标的魔法消失术录制屏幕时凌乱的桌面图标总让人尴尬而临时整理又太费时间。其实只需两行命令就能让所有图标瞬间隐身# 隐藏桌面图标 defaults write com.apple.finder CreateDesktop -bool FALSE; killall Finder # 恢复显示 defaults write com.apple.finder CreateDesktop -bool TRUE; killall Finder这段代码的精妙之处在于defaults write命令直接修改了Finder的偏好设置而killall Finder强制重启Finder使设置立即生效。在Automator中封装时我们增加了状态判断逻辑STATUS$(defaults read com.apple.finder CreateDesktop) if [ $STATUS -eq 1 ]; then defaults write com.apple.finder CreateDesktop -bool FALSE else defaults write com.apple.finder CreateDesktop -bool TRUE fi killall Finder提示务必使用/bin/bash解释器某些新版MacOS的zsh环境可能报错我曾帮设计师客户将这个服务绑定到ControlOptionCommandD快捷键现在他演示作品时能一键切换纯净模式。保存路径也有讲究——自动操作生成的快速操作默认存放在~/Library/Services/2. 隐藏文件的开关控制器开发过程中经常需要查看.env等隐藏配置文件但每次输入CommandShift.太麻烦。这个脚本实现了状态记忆的切换功能STATUS$(defaults read com.apple.finder AppleShowAllFiles) if [ $STATUS YES ]; then defaults write com.apple.finder AppleShowAllFiles NO else defaults write com.apple.finder AppleShowAllFiles YES fi killall Finder有趣的是这里用字符串比较而非布尔值因为历史原因MacOS对这类设置使用YES/NO而非TRUE/FALSE。有次调试时发现脚本失效最后发现是某些第三方清理工具重置了这个偏好设置。3. 访达中新建文本文件的终极方案Windows右键新建文本文件的功能在MacOS原生缺失但用AppleScript可以打造更强大的替代方案on run {input, parameters} tell application Finder set selection to make new file at (get insertion location) with properties {name:未命名.md} end tell return input end run这个脚本有几个进阶技巧get insertion location获取当前激活的访达窗口位置可以预设带后缀的文件名如笔记.md保存为应用程序后通过拖拽到工具栏实现一键调用有次我将这个改造为Markdown模板生成器自动插入YAML头信息set newFile to make new file at (get insertion location) with properties {name:日记- (current date) .md} set fileHandle to open for access newFile write ---\ntitle: 日记\ndate: (current date) \n---\n to fileHandle close access fileHandle4. 自动化脚本的调试技巧当脚本不按预期工作时这些方法能快速定位问题日志输出法在Shell脚本中插入echo 当前状态值: $STATUS /tmp/automator_debug.log分步执行法在终端逐行运行命令观察每步输出权限检查清单确保Automator有权限访问Finder检查脚本是否被系统拦截系统偏好设置-安全性与隐私对于AppleScript需要在首次运行时授权有次客户反馈脚本失效最后发现是MacOS更新后需要重新授予Automator磁盘访问权限。这个案例让我养成了在复杂脚本开头添加权限检查的习惯。5. 扩展应用场景这些基础脚本能组合出强大工作流组合技示例隐藏桌面图标显示隐藏文件在指定目录创建日志文件记录当前打开的应用列表# 复合工作流脚本 defaults write com.apple.finder CreateDesktop -bool FALSE defaults write com.apple.finder AppleShowAllFiles YES killall Finder LOG_PATH$HOME/Documents/系统日志-$(date %Y%m%d).txt echo 当前运行应用:\n$(ps -ef | grep Applications) $LOG_PATH对于经常需要清理工作环境的开发者可以创建包含这些功能的准备会议模式。我的某个客户甚至将其扩展成自动化测试套件的前置准备脚本。