将文件夹的内容划分为单独的文件夹

时间:2013-02-08 21:34:03

标签: split action directory automator

我有一个包含518 .tcx文件的文件夹。我想将这些gps文件上传到Strava.com。 Strava仅允许一次批量上传25个文件。

我有一个包含518个文件的文件夹。我想将它们分成一口大小的碎片(25个文件),然后通过Strava提供的电子邮件上传选项上传它们。

我在想autmator可能有所帮助,但我找不到那样的东西。我也想提供这个作为解决方案,让其他人从Garmin切换到Strava,我认为很容易将它作为一个自动机动作提供。

建议?

-Josh

1 个答案:

答案 0 :(得分:0)

Automator本身没有一种直接的方法将输入划分为我所知道的块。但是,这是xargs(1)的目的之一。

  1. 使用“新邮件”操作制作正常工作流程,并根据需要填写。如果您有信心,请使用“发送外发邮件”操作进行操作。 (出于这些步骤的目的,将其作为“send-files.workflow”保存在您的主文件夹中。)

  2. 使用此操作制作服务工作流程(在Finder中接收所选文档):

    运行Shell脚本(Shell:/ bin / bash,将输入传递给stdin)

    xargs -n 25 automator -i - ~/send-files.workflow
    
  3. 您现在可以选择一堆文件并选择您的服务,这将创建包含(最多)25个批次的邮件。显然,如果您对终端感到满意,可以直接从命令行执行第2步,而不是使用服务,如下所示:

    ls *.tcx | xargs -n 25 -i - ~/send-files.workflow
    

    另外,一个鲜为人知的事实是:如果您使用Mail打开文件,它将创建一个新文件作为附件。如果您一次打开多个文件,它将创建一条包含所有文件的消息,因此您可以执行以下操作:

    ls *.tcx | xargs -n 25 open -a Mail
    

    当然,这只会创建一个带有附件的消息,它不会为您解决或发送它,但它对一次性任务很有用。