14

我正在使用 Mac OSX 10.8.3。

我在 Automator 中设置了一个工作流程,如下所示:

  1. 询问查找器项目
  2. 获取文件夹内容
  3. 使顺序
  4. 移动查找器项目

工作流程的目的是自动重命名我保存在文件夹中的一堆照片,然后将它们移动到新文件夹。

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

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

这是一个截图 截屏

4

3 回答 3

16

这适用于测试:

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

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

  6. 获取文件夹内容- 获取操作5传递的路径处的文件夹内容

  7. 重命名 Finder 项目- 设置为使顺序和新名称 = folderName变量

在此处输入图像描述

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

于 2013-07-16T10:29:56.297 回答
5

您可以将Run Shell Script Action, 与以下代码一起使用:

echo ${1##*/}

Pass input:设置为as arguments

在此处输入图像描述

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

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

于 2013-04-05T12:32:24.830 回答
0

另一个简短版本,用于获取文件夹名称并将其分配给变量。

tell application "Finder"
    set currentDir to target of Finder window 1 as alias
    set posixDir to POSIX path of currentDir
    -- set myShell to "touch \"" & posix & "\"readme.txt"
    -- set result to (do shell script myShell)
end tell

截屏

于 2022-01-02T07:42:17.903 回答