0

我的目标是编写一个用户友好的自动化服务,以通过电子邮件发送选定的文件和文件夹。

为了用户友好,我需要:

  1. 检测输入类型。如果是文件,我会进行下一步。如果它是一个文件夹,我首先使用名称 folder_name.zip 对其进行压缩。

  2. 现在,我只处理文件(文件夹的选定或压缩版本)。如果总大小小于一个常数(比如说 20MB),我会将全部内容添加到电子邮件中。如果没有,我会询问用户他/她是否真的想继续并根据他/她的回答采取行动。

  3. 清理:删除任何创建的 zip 文件。

我被困在这个工作流程的几乎所有级别(检测输入中各个项目的类型。根据结果有条件地采取行动。总结所有项目的大小,有条件地对结果采取行动)。

我也可以有两个单独的操作,一个用于文件,一个用于文件夹,但我找不到“仅文件”输入类型。

4

1 回答 1

1

唔。

我为您创建了一个服务工作流程。它是概念的证明。将文件添加到电子邮件的最后阶段由您完成。您还应该注意,没有检查应用程序/捆绑包的包。在 Mac 上将被视为文件,但在其他地方则被视为文件夹。

服务工作流程中发生了很多事情。(要测试Automator 中的工作流程,请添加一个“获取选定的查找器项目”作为第一个操作。但作为服务运行时它运行得更快)

但基本情况是:

服务接收选择:“finder”中的文件或文件夹

1、运行苹果脚本。

它获取选定的项目并将它们传递到一个检查大小的applescript,然后如果所有项目都大于20M,则显示一个对话框。(注意 du 命令似乎舍入了一些内容)。如果用户点击确定,那么我们继续。如果取消,工作流程将停止。如果小于 20M,则不会显示任何对话。它会继续前进。

2、变量的设定值

将完整列表存储在存储变量中并将其传递给下一个操作。

3、过滤查找器项目

'kind' 的过滤器是 'folder' 将结果传递给下一个操作。

4、创建存档。

我已将其保存在桌面上。但我建议您对用户临时文件夹执行此操作。

将结果传递给下一个动作。( zip 文件的路径,如果有的话。)

5、变量设定值

将 zip 文件的路径存储在存档变量中(如果已创建) 不要将其传递给下一个操作。

6、获取变量的值

(不获取最后操作的结果。)获取存储 变量值。将结果传递给下一个动作。

7、过滤查找器项目

'kind' 的过滤器不是'folder' 将结果传递给下一个操作。

8、变量设定值

文件列表存储在files变量中。……

从这里开始你有两个变量。 文件存档

您可以使用它们将他们引用的文件和压缩文件发送给您的电子邮件..

请记住,这只是一个概念证明。

干杯

于 2012-11-11T22:22:15.903 回答