applescript - Aperture 导出导入脚本
问题描述
随着 macOS Catalina 放弃对 Aperture 的支持,我需要将我的资料库移动到不同的应用程序。Mylio 有一个很棒的导入工具,它可以继承几乎所有的库结构和元数据,但会丢失一些调整。为了保留这些,我正在尝试编写一个 Apple 脚本来导出我的库中的所有图像(应用了调整),并在删除原始图像之前将它们重新导入到同一个项目中。
我想我几乎有了第一部分,导出所有图像。
tell application "Aperture"
tell library 1
set projects to (get every project)
repeat with i from 1 to count of projects
tell (item i of projects)
export its every image version naming folders with folder naming policy ¬
"Project Name" using export setting ¬
"JPEG - Original Size" to (choose folder with prompt "Choose an export folder")
end tell
end repeat
end tell
end tell
但是,当我尝试运行此脚本时,我不断收到错误消息
apertureExportImport.applescript:704:712:
execution error: Aperture got an error: Can’t make {project id "1ixjjya6T+Sb3pFmhRK8Fg"} into type project. (-1700)
我想问题出在网上,set projects to (get every project)
但我在网上找不到任何例子来弄清楚这里还有什么要写的。
解决方案
我不使用Aperture
,所以我只能进行有根据的猜测:
从错误消息中,我可以合理地确定这project
是一个 AppleScript 对象,特别是一个元素,从你的脚本中,我会假设它属于一个library
对象。在这种情况下,几乎可以肯定会有一个名为"projects"
already defined 的复数元素形式,它指的是所有类型为的(即多个)元素的集合project
。
因此,以下行:
set projects to (get every project)
是有问题的,因为您正在尝试重新定义属于 AppleScript 的类对象。实际上,projects
将是 的简写every project
,所以这应该已经以您想要的方式定义,并且完全删除该行就足够了。
在单独的说明中,看起来(从您的脚本)该export
命令可以传递一组对象作为其直接参数,您正在使用export its every image...
. 假设这是有效的,那么它可能能够一次导出所有项目中的所有图像:
tell application "Aperture" to export every image version in every project of library 1 ¬
naming folders with folder naming policy "Project Name" using export setting ¬
"JPEG - Original Size" to (choose folder with prompt "Choose an export folder")
推荐阅读
- laravel - 如何在控制器之间创建验证码会话
- python - python pandas:将字典转换为长格式,计数基于字符串变量的不同值
- c# - 在 C# 中指向或反射到对象
- python - 使用 matplotlib 制作堆栈图时出现“Keyerror”
- ios - 未调用具有 Firebase 消息回调的 Flutter 插件
- yocto - 构建 gcc-cross 失败,没有提供“gcc-cross”
- python - 如何从python中的列表中计算单词列表
- r - 如何在河图中使我的字体变小?
- reactjs - reactjs中如何根据条件隐藏按钮
- python - Python列表操作:复制数组中的问题