【问题标题】:AppleScript in Automator broken in Big SurAutomator 中的 AppleScript 在 Big Sur 中损坏
【发布时间】:2021-03-06 02:48:40
【问题描述】:

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

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

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

自从Big Sur,我得到一个错误

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

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

通过 Google 进行的快速搜索并没有找到任何线索,除了一些迹象表明破坏性更改是游戏的一部分,而 Apple 并没有真正说明会破坏什么。

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

(另外,如果有人想建议使用“Pad Images”自动操作 - 它执行的填充不是我的填充类型 - 它会在整个图像周围放置填充。我只是将填充放在顶部和bottom 将 3x2 图像变成一个正方形,图像适当地夹在白色边框、顶部和底部之间。)

【问题讨论】:

  • 你可以看到每一步的结果是什么,为什么不直接看呢?
  • 是的,我已经这样做了,并且在期望输入的实际 AppleScript 之前的步骤中没有结果,而之前有。上一步是文件名操作,它导致(“返回”)新文件名 - 现在它没有。
  • 我无法重现;对我来说,文件名操作确实返回一个值,该值传递到下一步。
  • 请不要在多个 Stack Exchange 网站上交叉发布相同的问题!您在 AskDifferent 上发布了相同的问题:apple.stackexchange.com/questions/414902/…
  • 我做了交叉发布。不知道为什么这是违规行为。或许你能解释一下?

标签: applescript automator


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-15
    • 2020-09-11
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    • 1970-01-01
    相关资源
    最近更新 更多