使用AppleScript从Evernote导出附件

时间:2013-02-17 17:53:04

标签: applescript evernote

我在创建一个非常简单的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

2 个答案:

答案 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