如何将 AppleScript 脚本返回列表中的值分配给 Automator 中的变量?

How to assign values from returned list from AppleScript script to variables in Automator?

在我的 Automator 操作中,我使用了一个 "Run AppleScript" 操作,即 returns 一个列表(通过 AppleScript)。这是 AppleScript:

on run {input, parameters}
    set result to {"Foo", "Bar", "42"}
    return result
end run

稍后在我的 Automator 操作中,我需要在不同的地方使用值 "Foo""Bar""42"

如何将这 3 个值分配给不同的 Automator 变量?

从字面上理解你的问题,你必须首先设置 运行 AppleScript action 的结果,在这个case 是一个 list,到一个 Set Value of Variable action.

接下来,您将添加一个获取变量值1 操作。将其选项设置为[√]忽略此操作输入以便断开与变量设置值 动作.

接下来,添加一个 运行 AppleScript action 以及以下 example AppleScript 代码:

on run {input, parameters}
    return item 1 of input
end run

然后添加一个设置变量值 actionlist 中的第一项返回到原始 运行AppleScriptaction.

list 中的下两个 再次重复。


1从技术上讲,您可以发送第一个 设置变量值 操作的输出直接给第二个运行AppleScriptaction设置第一个list item 到 new variable;但是,我将其分解为单独的 action,因此创建了三个 list items 作为单独的 variables 遵循相同的 操作 路径。


注意:示例 AppleScript 代码 就是这样,不包含任何 error 适当处理。用户有责任添加任何适当、需要或想要的 错误处理 。看看 try statement and error statement in the AppleScript Language Guide. See also, Working with Errors.