Automator 中的 AppleScript 在 Big Sur 中损坏

问题描述

因此,我从 Finder 的“服务”右键单击弹出菜单中使用了一个非常简单的 Automator 任务,该任务复制图像、重命名缩放图像,然后在其周围添加边框。多年来工作得很好。最后一步是在 AppleScript 中进行填充,从这个咒语开始:

on run {input,parameters}
    set this_image to item 1 of input
...

And 意味着继续将 this_image 设置为上一步中的文件路径。

自从大苏尔以来,我收到一个错误

The action “Run AppleScript” encountered an error: “Can’t get item 1 of {}.”

这似乎表明 input 现在是一个空列表。所以——也许前一个动作 (Rename Finder Items: Replace Text) 没有传递结果——或者其他东西。

通过 Google 快速搜索不会产生任何线索,除了一些迹象表明重大更改是游戏的一部分,而 Apple 并没有真正指出会发生什么。

有什么想法吗?其他所有步骤都可以正常工作 - 当我单步执行时,文件按预期进行操作(复制、重命名、缩放等)。只有当它到达这一行时,我希望有一个文件名以便进行填充,这才是有问题的。

(另外,以防万一有人想建议使用“填充图像”自动操作——它执行的填充不是我的那种填充——它在整个图像周围放置了填充。我只是在顶部放置了填充,然后底部将 3x2 图像变成正方形,图像正确夹在白色边框、顶部和底部之间。)

解决方法

问题似乎出在一个特定的文本替换步骤中,我尝试将带有前导空格的字符串替换为空字符串。出于某种原因,这失败了——我不知道为什么。但是,当我更改该特定步骤(“重命名 Finder 项目:替换文本”)以将任何带有前导空格的字符串替换为另一个字符(例如“_”)时,它工作正常。所以我推断用空字符串替换某些东西是罪魁祸首,但我不是 100% 确定。但是,现在我的 Automator 工作流程已经调整了该特定步骤。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...