希望进行文件夹操作,以识别文件夹中的新文件,然后通过电子邮件发送该文件

时间:2019-06-15 13:52:42

标签: applescript automator

在macOS中,我希望在将新文件放入该文件夹时触发文件夹操作。该操作应获取文件名(不包括路径),并将其用作主题,然后将文件附加到电子邮件并发送。理想情况下,这会在幕后发生,因为我不需要看活动。

我创建了一个Automator脚本,该脚本可以抓取文件,提取名称,创建并发送文件。但这有点不合时宜。将变量设置为文件名后,我将丢失附件,而必须再次获取finder项。另外,它不能作为我真正需要的文件夹操作。

Automator包括以下步骤:

  • 获取指定的查找器项
  • 获取文件夹内容
  • 过滤查找器项-我只对特定文件感兴趣
  • 设置变量值 --path
  • 运行Shell脚本-仅提取文件名而不扩展名 --basename“ $ @” .pdf
  • 设置变量值 --fileName
  • 新邮件 -主题:fileName

这时我不再可以附加指定的文件,因为Automator已“丢失”它,所以我必须重新开始“获取指定的查找器项目”,“获取文件夹内容”,“过滤查找器项目”,“向前端消息添加附件”。最后,发送外发邮件。

我想要发生的是,当我将某个文件放入目录中时,Folder Action触发,它查看该文件,并且如果符合过滤条件,它将通过电子邮件发送文件,仅使用文件名而不使用扩展名作为主题。

1 个答案:

答案 0 :(得分:1)

创建作为文件夹操作的Automator文档类型,并将其附加到所需的文件夹。添加到指定文件夹的项目将传递到工作流程,因此您无需执行其他操作即可获取它们。

您已经将过滤后的项目路径保存在一个变量中,您只需要取回它们即可执行Mail操作:

  1. 文件夹操作会接收添加到{任何位置}的文件
  2. 筛选器查找项
  3. 设置变量{变量: path }
  4. 的值
  5. 运行Shell脚本
  6. 设置变量{的变量值: fileName }
  7. 获取变量{变量: path }的值(忽略输入)
  8. 新邮件{主题: fileName }(已附加传递的文件)

Automator工作流设计为批量处理多个输入项目。一次处理一个项目将需要脚本或第三方操作,例如Dispense Items Incrementally