我正在编写一个 AppleScript 来管理我的专辑插图。我正在尝试编写一些代码来删除所选曲目中包含的所有艺术品(iTunes 曲目最多可以包含 30 个艺术品对象)。这相当于在 iTunes 中选择曲目,打开“获取信息”窗口,然后选中(空白)艺术品框。
例如,应该工作的代码:
tell application "iTunes" to set t to track 1 of playlist "Example Playlist"
tell t to delete every artwork
请注意,仅删除第一幅作品的语法为:tell t to delete artwork 1
不幸的是,AppleScript 不合作。如果曲目有两幅作品,则只删除第一幅;如果曲目有 3 幅作品,则删除前 2 幅作品。
这似乎是在执行删除命令期间艺术品索引发生变化的问题(即,对于具有 2 个艺术品的轨道,它成功删除了艺术品 1,但是当它尝试删除艺术品 2 时,它找不到它,因为它已被重命名当原始艺术品 1 被删除时,转移到艺术品 1)。试图将every artwork
说明符强制转换为列表(以便可以反转)不起作用,因为delete
似乎不适用于用户定义的列表。
有谁知道我做错了什么?我知道我可以使用重复循环来遍历轨道中的所有艺术品,因为单独删除每个艺术品,但这似乎与 AppleScript 尝试的简单性背道而驰。我是否以某种方式滥用了该every
声明?