Applescript 司机的前窗 告诉弹出按钮1 点击 重复此操作,直到出现菜单1 延迟0.5 结束重复 本地ndx 重复ndx从1到(菜单1计数) 如果菜单1菜单项ndx的标题为“”,则 将rootName设置为菜单1菜单项(ndx-1)的标题 选择(菜单1的菜单项(ndx-1)) 退出重复 如果结束 结束重复 结束语 结束语 如果结束 返回根名称 尾翼 运行中(中电) 如果clp的长度不是2,则出现错误“参数不正确” 本地目的地,图书馆名称 将目的地设置为clp的项目1 将libraryName设置为clp的项目2 菜单单击(“iTunes”、“文件”、“库”、“导出库…”) 将parentObject的文本字段“另存为:”的值设置为(libraryName和“.xml”) 告诉应用程序“系统事件”处理iTunes窗口“新建iTunes库”组1的弹出按钮1单击 重复ndx从1到(父对象菜单1的计数) 如果菜单项ndx的标题为“”,则 选择菜单项(ndx-1) 退出重复 如果结束 结束重复 my switchDir(目的地,“iTunes”,“iTunes”,真,假) 将窗口“iTunes”的文本字段“另存为:”的值设置为(libraryName+“.xml”) 告诉窗口“iTunes”的“保存”按钮单击 返回(目的地和“/”以及libraryName和“.xml”) 终点

Applescript 司机的前窗 告诉弹出按钮1 点击 重复此操作,直到出现菜单1 延迟0.5 结束重复 本地ndx 重复ndx从1到(菜单1计数) 如果菜单1菜单项ndx的标题为“”,则 将rootName设置为菜单1菜单项(ndx-1)的标题 选择(菜单1的菜单项(ndx-1)) 退出重复 如果结束 结束重复 结束语 结束语 如果结束 返回根名称 尾翼 运行中(中电) 如果clp的长度不是2,则出现错误“参数不正确” 本地目的地,图书馆名称 将目的地设置为clp的项目1 将libraryName设置为clp的项目2 菜单单击(“iTunes”、“文件”、“库”、“导出库…”) 将parentObject的文本字段“另存为:”的值设置为(libraryName和“.xml”) 告诉应用程序“系统事件”处理iTunes窗口“新建iTunes库”组1的弹出按钮1单击 重复ndx从1到(父对象菜单1的计数) 如果菜单项ndx的标题为“”,则 选择菜单项(ndx-1) 退出重复 如果结束 结束重复 my switchDir(目的地,“iTunes”,“iTunes”,真,假) 将窗口“iTunes”的文本字段“另存为:”的值设置为(libraryName+“.xml”) 告诉窗口“iTunes”的“保存”按钮单击 返回(目的地和“/”以及libraryName和“.xml”) 终点,applescript,Applescript,更改: menuClick("iTunes", "File", "Library", "Export Library…") 致: AppleScript的错误报告非常糟糕(对于初学者来说,没有回溯),而且osascript在调试方面甚至比脚本编辑器更糟糕。如果在SE中运行脚本,它至少会高亮显示脚本中发生错误的行。如果这还不能给您提供线索,请添加log命令来报告脚本的进度osascript将把记录的消息写入stderr。在SE中,单击窗口底部的“文档”(显示/隐藏日志)图标,然后选择“消息”。如

更改:

menuClick("iTunes", "File", "Library", "Export Library…")
致:


AppleScript的错误报告非常糟糕(对于初学者来说,没有回溯),而且
osascript
在调试方面甚至比脚本编辑器更糟糕。如果在SE中运行脚本,它至少会高亮显示脚本中发生错误的行。如果这还不能给您提供线索,请添加
log
命令来报告脚本的进度<代码>osascript将把记录的消息写入stderr。在SE中,单击窗口底部的“文档”(显示/隐藏日志)图标,然后选择“消息”。如果您的时间价值超过100美元,请为自己准备一份脚本调试器副本,它还允许您在脚本运行时添加断点、单步执行并检查变量。

为什么需要{}?作者提供的示例代码与我的代码相同,并且在我测试运行它时工作?
{…}
表示一个列表值。
menuClick(mList)
处理程序需要字符串列表作为其唯一参数。您传递了4个参数,只使用了字符串
“iTunes”
-中的第一个参数(因为会自动忽略未使用的参数)。因此,当它获取
mList
的第1项时,它不会获取列表的第一项,而是获取字符串的第一项,在本例中,它是字符
“i”
。这就是您最初的错误消息。所有这些都比它应有的要神秘得多,毫无帮助,而且站不住脚,特别是在一种表面上“用户友好”的语言中,但这对你来说是非常合适的。
menuClick("iTunes", "File", "Library", "Export Library…")
menuClick({"iTunes", "File", "Library", "Export Library…"})