【问题标题】:Add text to text document via automator通过自动机将文本添加到文本文档
【发布时间】:2021-07-30 01:33:00
【问题描述】:

在 Hazel 或 Automator 的帮助下,我自动化了很多任务以节省时间。

但是,我现在被一个简单的问题所困扰:我不知道如何通过 Automator 将文本添加到现有的文本文档中。

到目前为止,我尝试使用从这里或其他论坛的来源改编的各种 shell/apple 脚本来解决这个问题。 – 到目前为止,他们都没有工作,这就是为什么我希望在这里得到一些帮助。

具体来说,这将是理想的解决方案:

  1. Automator 将现有文本模板复制到预定义位置。
  2. 系统提示我在字段中插入/粘贴一些文本。
  3. Automator 将此文本粘贴到刚刚复制到新位置的文本文件之上。

到目前为止,除了第三步之外,一切正常。

这是自动化工作流程。我在那里禁用了Apple Scripts,因为它们只是从其他论坛复制粘贴而无法正常工作。 My Automator workflow

非常感谢。期待听到您的想法。

【问题讨论】:

    标签: macos shell automation applescript automator


    【解决方案1】:

    可能有几种方法可以解决这个问题,但这里有一种相对简单的方法,既不依赖于 applescript 也不依赖于变量。它确实需要提前一个目标文件夹(您的模板将被复制到该文件夹​​)。

    • 获取指定的 Finder 项目(从文件夹 A,即包含您的原始模板的文件夹)

    • 获取文件夹内容

    • 过滤查找器项目

    • 复制 Finder 项目(到文件夹 B,即目标文件夹,检查替换...)

    • 打开 Finder 项目(打开方式:TextEdit - 打开复制的模板文档 - 这将成为完成的文档)

    • Store Disk Item References(存储复制的模板文件引用)

    • 询问文本(在测试时,我使用了“获取指定文本”,但我想现在已经无关紧要了)

    • 新文本文件(内容是您的宣传片)

    • 检索磁盘项目参考(获取促销宣传文件参考和复制的模板文件参考)

    • 合并文本文件(在模板文本中添加宣传片)

    • 设置文本编辑文档的内容(作者:替换——用新的组合文本替换复制的模板文档的文本)

    • Retrieve Disk Item References(获取更新复制模板的文件引用)

    • 重命名 Finder 项目:命名单个项目(随便)

    • 退出应用程序(TextEdit,选中询问保存更改)

    本质上,工作流程将模板和宣传片中的文本放入 textedit 文档中,然后抓取每个文本并替换组合文本。工作流完成运行后,您应该有一个文本文件,其中包含两个文本,顶部有促销信息。如果您想选择保存文本文件的位置,请删除最后三个操作,您将看到包含组合文本的打开的 TextEdit 文档。

    【讨论】:

    • 这是金人,非常感谢。它对我有用,但我想为遇到相同问题的其他人补充一下,您需要第三方自动化(存储磁盘项目引用和检索磁盘项目参考不包含在 Automator 中。我从这里获得了自动化:automator.us/downloads.html) 我只遇到一个问题:退出文本文件时,我收到提示“您无权写入文件“测试”所在的文件夹。” – 有没有办法在自动机内传递这个提示? – 解决方案还是那么值得,我超级开心!
    • 我忘记了必须添加这些操作。这是我第一次真正使用它们。 FWIW,Apple确实创造了它们。我推测他们将它们单独下载为其他供应商提供示例,但谁知道呢。至于权限提示,我不明白(如果有区别,我正在使用 Sierra)。也许尝试在 System Preferences > Security & Privacy > Accessibility 下添加 Automator,这将允许 Automator 控制计算机。很高兴它有帮助,但如果以上解决了提示,请告诉我。
    • 有趣。并感谢您的快速回复! – 将 Automator 设置为可访问性(以及“全盘访问”并没有解决问题。但我可以在 TextEdit 中单击“取消”,然后手动保存文件。我认为 MacOS 自 Mojave 以来获得了很多额外的安全性,这很难弄清楚问题出在哪里。
    • 直到您弄清楚最后一点,删除“退出应用程序”操作。它实际上只是为了强制保存(并给脚本......关闭)。这样您就无需手动取消。请注意,如果您已将工作流保存为应用程序,则需要安全访问权限的新应用程序(不是 Automator)。您对每个新版本的安全挑战是正确的。 Sierra 是一个更简单的世界。
    • 我刚做了,非常感谢,Mockman,你是最棒的。