Applescript 使用Evernote';s";“查找注释”;应用程序未打开时的动词
我正在编写一个applescript,它使用一个名为“查找注释”的命令(在Evernote字典的Evernote套件中)与Evernote for Mac交互。这是我的剧本:Applescript 使用Evernote';s";“查找注释”;应用程序未打开时的动词,applescript,evernote,Applescript,Evernote,我正在编写一个applescript,它使用一个名为“查找注释”的命令(在Evernote字典的Evernote套件中)与Evernote for Mac交互。这是我的剧本: tell application "Evernote" set myNotes to find notes ("intitle:Title") end tell 如果我在Evernote已经打开的时候运行脚本,它可以正常工作,但是如果我在运行脚本时Evernote还没有打开,它会给我一个错误:“预期的行尾,但是 第二行中
tell application "Evernote"
set myNotes to find notes ("intitle:Title")
end tell
如果我在Evernote已经打开的时候运行脚本,它可以正常工作,但是如果我在运行脚本时Evernote还没有打开,它会给我一个错误:“预期的行尾,但是
第二行中的“notes”一词突出显示
无论是从AppleScript编辑器还是作为shell脚本运行,其行为都是相同的
它似乎将“find”解析为一个完整的动词,而不仅仅是动词“find notes”的一部分。但是如果Evernote是打开的,那么它可以识别完整的动词并正确工作
是否有任何方法可以使此脚本(未编译)在安装了Evernote但可能正在运行或可能没有运行的环境中运行?如果其他任何人遇到相同的问题,如果我指定应用程序的完整路径而不仅仅是名称,则似乎可以解决此问题。因此:
tell application "/Applications/Evernote.app"
我相信这是因为当你没有给出一个特定的名字时,它会与(正常运行的)EvernoteHelper应用程序匹配 我认为,只要在编译时运行Evernote本身,脚本中就会出现正确的引用,因此编译后的脚本应该在运行时启动Evernote而不是EvernoteHelper 您可能会发现,使用捆绑标识“com.evernote.evernote”而不是应用程序的硬编码路径也可以工作:
tell application id "com.evernote.Evernote"
(注意“id”部分。)谢谢您的解释!而且使用bundle标识符似乎工作得很好。