macOS设备上的自动操作(Automator)


=Start=

缘由:

简单整理一下近期看到的和自动操作(Automator)有关的使用技巧,方便后面有需要的时候参考。

简单来说就是,macOS上的自动操作当前还适合的场景为:

  • PDF文件处理(拆分、合并)
  • 监控特定文件夹的文件新增情况然后触发特定操作(遥控触发器
  • 日历提醒(由日历中的日程触发运行,它们不接收任何输入)
  • 将shell脚本包装成一个“应用程序”

其它的还有哪些合适的场景后面实际用到了再逐步补充。

正文:

参考解答:

macOS设备上的自动操作(Automator)是一个强大的工具,它允许用户创建自定义的工作流来自动化日常任务。以下是几种妙用,展示了如何利用Automator提高效率和简化工作流程:

1. 文件管理

  • 批量重命名文件:可以创建一个工作流,用于根据特定规则批量重命名文件或文件夹。
  • 移动和组织文件:设置动作以自动将文件移动到不同的文件夹中,基于文件类型、日期或其他属性。(这个感觉可以有)
  • 压缩/解压多个文件:创建一个服务或快速操作,一键压缩或解压多个文件。

2. 图像处理(这个感觉可以有)

  • 调整图片大小:构建一个工作流来批量调整图像的分辨率或尺寸。
  • 转换图像格式:使用预设的动作或通过脚本实现不同格式间的转换。
  • 应用滤镜或效果:结合AppleScript或第三方应用程序对图片施加特效。

3. 文本编辑与处理

  • 文本替换:编写一个Shell脚本或使用内建动作来进行批量化文本查找和替换。
  • 生成报告:从日志文件或者其他数据源提取信息,并格式化为易于阅读的文档。
  • 清理剪贴板历史:定期清除系统剪贴板内容,保护隐私。

4. 网页抓取(这个感觉可以有)

  • 下载网页资源:例如下载网站上的所有图片链接。
  • 提取HTML元素:解析网页结构并提取特定部分的数据,如标题、链接等。

5. 自动发送邮件

  • 定时发送邮件:设定触发器,在特定时间点发送预写好的电子邮件。
  • 个性化邮件营销:读取CSV文件中的联系人列表,并向每位收件人发送个性化的邮件。

6. 多媒体处理

  • 音频文件编码:改变音频文件的编解码方式或调整音量。
  • 视频转码:批量转换视频文件的格式或压缩率。

7. 应用程序启动与控制

  • 快捷启动常用软件:创建一个工作流来一键启动一系列经常使用的应用程序。
  • 自动化iTunes播放列表更新:添加新歌曲到播放列表或者同步音乐库。

8. 开发者工具

  • Git命令行集成:通过Automator封装常用的Git命令,简化版本控制系统操作。
  • 代码片段管理:创建一个简单的界面来管理和插入常用的代码段。

9. 系统维护

  • 清理临时文件:定期清理不再需要的缓存和其他临时文件。
  • 磁盘空间监控:检查硬盘使用情况,并通知用户当存储容量接近满时采取行动。

10. 定制工作流和服务

  • 定制化服务:根据个人需求创建独特的服务,如一键备份重要文件夹至云存储。
  • 快速操作:利用Quick Actions(快速操作),可以在Finder右键菜单中直接访问你创建的工作流。

通过探索和实践,你可以发现更多关于如何利用Automator来满足特定需求的方法。记住,Automator的强大之处在于它可以与其他macOS技术如AppleScript、Shell脚本以及各种API相结合,从而扩展其功能。此外,随着macOS系统的更新,Automator的能力也在不断进化,所以保持关注最新的变化和技术文档是非常有益的。


Automator 手册第八章:用文件夹操作把手机打造成 Mac 的遥控器

这篇文章的思路学习到了(尤其是借助iCloud文件夹的变化达到“遥控”效果这一点上很精妙),但是设定变量的值,获取下载URL那里没有测试成功,可能还是因为我不够熟练,后面有机会可以再试试。
下载对应的workflow文件试了试也不行,可能是macOS系统(Sequoia 15.2)不一样,Automator(版本2.10 (526))的功能发生了变化导致以往可能有效的方案现在无法生效。

macOS 端版本一:使用现成模块

  1. 过滤访达项目:过滤出文件夹中的 txt 文件。其实 Shortcuts 已经清理过一遍文件夹,再用 Automator 过滤是上一道双保险。
  2. 设定变量的值:将过滤出来的文件设为“文件”变量,便于随后灵活取用。
  3. 打开访达项目:用脚文本编辑器3打开“文件”。
  4. 暂停:停顿 2 秒,等文本编辑器完全打开。在配置好的电脑上也许可以不用花这几秒时间。
  5. 获得文本编辑文稿的内容:获取文本文件“文件”中的下载链接。
  6. 设定变量的值:将下载链接设为变量“链接”,留待稍后取用。
  7. 退出应用程序:退出脚本编辑器。
  8. 获得变量的值:获取“文件”。
  9. 将访达项目移到废纸篓:将“文件”删除。
  10. 获得变量的值:获取“链接”。
  11. 下载 URL:下载刚刚获取的链接。

macOS 端版本二:使用脚本

这次我们使用 AppleScript 脚本来下载,以便调用 Aria2 这一下载利器。

我们沿用上一小节的动作,只把最后一步改成 “运行 AppleScript”,替换原来的 HTTP 下载方式。


在macOS系统上将“预览”不可复制的PDF文件转换成内容可复制的PDF文件。

操作步骤:

  1. 使用【自动操作】中的【将PDF页面渲染为图像】(Render PDF Pages as Images.action)功能,将传递来的PDF文稿的每一页渲染为图像(生成的图片文件的位置比较深,找起来其实不是太方便)。
  2. 再用【自动操作】中的【用图像新建PDF】(New PDF from Images.action)功能,将刚才生成的多张图像,创建一份多页PDF文稿。
  3. 再通过【预览】应用打开第2步生成的PDF文件,即可在预览应用里面对PDF的文字内容进行选中和复制了。

文稿类型:

文件夹操作——当文件被添加到某个特定的文件夹之后可以促使该工作流程运行,并将被添加到该文件夹的文件作为该工作流程的输入。简单来说,可以当作一个“触发器”来用(当往特定文件夹中添加文件后就执行特定的动作,比如打开计算器)。
Todo:当前还没有学会如何读取文件的内容,并将内容传递给一个变量,方便后面使用传入的文件的内容(进行一些特定的操作,比如文件内容是一个URL链接的话就打开这个链接,进行下载等其它所需的操作)。

工作流程——工作流程可以在“自动操作”内部运行。

==

文稿拆分:

  • 拆分PDF:从输入PDF文稿的每一页新建单页PDF文稿。
  • 将PDF页面渲染为图像:此操作会将传递来的PDF文稿的每一页渲染为图像。

文稿合并:

  • 用图像新建PDF:用几个输入图像创建一份多页PDF文稿。
  • 合并PDF页面:此操作会将传递来的PDF文稿的页面合并为一个PDF文稿。
  • 给PDF文稿添加水印:此操作会将图像绘制到PDF文稿的每一页。

……待补充……


截图后OCR并将文字内容拷贝至剪贴板的命令

PATH=$PATH:/usr/local/bin/
screencapture -i ~/ocr.png
tesseract ~/ocr.png stdout --oem 1 --psm 6 -l chi_sim+eng -c preserve_interword_spaces=1 | pbcopy
rm ~/ocr.png
参考链接:

Automator 手册第八章:用文件夹操作把手机打造成 Mac 的遥控器
https://utgd.net/article/20227

Automator Gallery
https://github.com/BlackwinMin/Automator-gallery/

文件夹操作
https://github.com/BlackwinMin/automator-gallery/tree/master/%23Folder%20Action

OCR Screencapture.workflow
https://github.com/BlackwinMin/automator-gallery/tree/master/OCR%20Screencapture

=END=


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注