我在创建一个非常简单的AppleScript以从Evernote笔记导出附件时遇到了重大问题。我已经多次使用以下代码,它似乎工作,但实际上它无声地失败,即使事件日志显示正确的响应。
我听说Evernote最近的版本有很多AppleScript支持问题。如果有人有Evernote和AppleScript“专家”,我也非常感谢我对我的剧本进行审查,以确定我没有忘记任何事情。
我正在使用Mac OS X 10.8.2和Evernote 5.0.5(400805)的Mac App Store版本。
代码:
set ExportPath to "LegatusHD1:Users:me:Downloads:Test"
set theAttachments to {}
set selectedItems to {}
tell application "Evernote"
set selectedItems to selection
repeat with selectedItem in selectedItems
set theAttachments to (attachments of selectedItem)
repeat with theAttachment in theAttachments
set theFilename to (ExportPath & ":" & theAttachment's filename)
write theAttachment to theFilename
set theFilename to ""
end repeat
end repeat
end tell
答案 0 :(得分:0)
Apple最近推出了来自AppStore的应用沙盒。因此,根据您的OSX版本,这可能是它无声地失败的原因 - 因为Evernote应用程序无法访问其自己的文件夹结构之外的文件系统。您可以尝试将导出路径设置为Evernote文件夹中的内容。
答案 1 :(得分:0)
这个问题已经很久了,但我只是绊倒它寻找我现在可以提供的答案:
仅供参考我正在运行:通过App Store安装OSX 10.9.1(Mavericks)和Evernote 5.4.4。
我可以确认Mustafa是对的,使用应用程序的App Store版本只能写入沙箱中的文件(/Users/{username}/Library/Containers/com.evernote.Evernote /)< / p>
从Evernote网站安装应用程序,或者如果您想在App Store中使用该应用程序:
使用上面的脚本将导出路径更改为沙箱内的内容,例如:
set ExportPath to "Users:{username}:Library:Containers:com.evernote.Evernote:Data:attachment_export"
请务必先打开attachment_export文件夹,然后将{username}替换为您的用户名
不幸的是,当您尝试在沙箱外写字时,applescript编辑器不会显示任何错误。但是,您可以在控制台应用程序中找到错误(可在“应用程序” - >“实用程序”中找到)。在控制台中,在搜索框(右上角)中输入“沙盒”,在窗口底部,您将看到如下内容:
1/29/14 10:22:29.426 sandboxd [310] :( [4433])Evernote(4433)拒绝文件 - 写 - 创建/用户/ {用户名} /桌面/ Evernote快照20140128 134741.jpg