如何在Mac中使用automator中没有路径作为变量的当前文件夹名称?

时间:2013-04-05 10:45:44

标签: macos variables directory automator

我使用的是Mac OSX 10.8.3。

我在Automator设置中有一个工作流程如下:

  1. 询问Finder项目
  2. 获取文件夹内容
  3. Make Sequential
  4. 移动Finder项目
  5. 工作流程的目的是自动重命名我保存在文件夹中的一堆照片,然后将它们移动到新文件夹。

    我想获取foldername并将其粘贴在变量中,并在工作流程的Make Sequential部分的“新名称框”中使用该变量(参见附件)图像。

    如何抓取文件夹名称并将其分配给变量。我的例子有一个名为“FolderName”的变量

    这是截图 screen shot

3 个答案:

答案 0 :(得分:13)

这适用于测试:

  1. 询问查找项目 - 将类型设置为文件夹。
  2. 设置变量值 - 这将是从操作 1 中获取的文件夹的路径
  3. 运行Shell脚本 - 设置Pass输入:as参数。并使用 / usr / bin / basename“$ 1” 作为获取文件夹名称的命令行
  4. 设置变量值 - 这将是所采用文件夹的 folderName 从行动 3
  5. 获取变量值 - 设置变量获取值路径

    5a上。设置操作 5 忽略来自上述操作的输入 4 - Ctrl +鼠标单击操作标题以获取上下文菜单

  6. 获取文件夹内容 - 从操作 5

    <传递路径获取文件夹的内容/ LI>
  7. 重命名Finder项 - 设置为Make Sequential,新名称= folderName 变量
  8. enter image description here

    您可以根据需要添加移动操作。

答案 1 :(得分:1)

您可以使用Run Shell Script Action,并使用以下代码:

echo ${1##*/}

Pass input:设置为as arguments

enter image description here

这将过滤传递的输入,只给出文件basename作为输出。

您应该在设置FolderName变量的操作之前执行此步骤。

答案 2 :(得分:1)

我正在尝试做类似的事情,但我没有重命名单个文件,而是想创建一个包含文件的pdf,并将pdf重命名为文件夹名称作为pdf文件的名称。这就是我所拥有的,却无法让它发挥作用:

  1. 询问查找项目 - 将类型设置为文件夹。
  2. 设置变量值 - 这将是从操作1中获取的文件夹的路径
  3. 运行Shell脚本 - 设置Pass输入:as参数。并使用 echo $ {1 ## * /} 作为获取文件夹名称的命令行
  4. 设置变量值 - 这将是从操作3中获取的文件夹的 folderName
  5. 获取变量值 - 将变量设置为路径。设置操作5以忽略上述操作的输入4
  6. 获取文件夹内容 - 在路径获取文件夹的内容 从行动5传递
  7. 新PDF联系表 - 从传递的文件夹制作联系表的PDF
  8. 重命名Finder项 - 设置为命名单项和名称:设置为仅限基本名称 folderName 变量