Windows

从命令行控制印象笔记


概述

你的应用可以通过向 Evernote.exeENScript.exe 可执行文件发送命令行参数来与印象笔记 Windows 客户端集成。

找到可执行文件

为了调用可执行文件,印象笔记的程序目录必须在你系统环境变量的“路径”中,或者你必须使用可执行文件的完整路径来调用命令。在开发与印象笔记集成的应用时,最好使用完整路径来调用可执行程序。完整路径可以通过 下面描述的 Windows 应用路径(Windows App Paths)功能得到。永远不要把印象笔记的安装路径硬编码在你的代码中。

印象笔记 Windows 客户端 4.0 及以上版本通过 Windows 应用路径系统注册了 Evernote.exe 和 ENScript.ext 的安装路径。很多 Windows 应用程序在查找可执行文件名字的时候都自动在应用路径中查看。你可以手动在注册表键值 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ENScript.exe 或者 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Evernote.exe 中查看路径。 在 (Default) 注册表子键中可以找到包含可执行文件名字的完整的路径,而在 Path 子键中可以找到不包含可执行文件名字的路径。

Evernote.exe

你可以使用下面描述的命令来调用 Evernote.exe。注意各个命令不能组合在一起。如果印象笔记已经运行,你的命令将传递给正在运行的进程。

[filename]

如果你传递一个文件的完整路径作为参数,那么一个新笔记就会被创建。如果你传递一个 .txt, .htm 或 .html 文件,这个文件的内容就是新笔记的内容。如果你传递一个 .enex 文件,它里面的印象笔记内容就会被导入。。如果你传递一个 .url 文件,新笔记的内容就是这个超链接。如果你传递一个其他类型的文件,它会被作为新笔记的附件。

/NewNote

打开一个新窗口,新窗口中包含一个新创建的空白笔记。等价于在右击任务栏中的印象笔记图表并选择“新建笔记”。这个命令是在印象笔记 Windows 客户端 3.5 版中加入的。

/NewInkNote

打开一个新窗口,新窗口中包含一个新创建的空白笔记。这个命令是在印象笔记 Windows 客户端 3.5 版中加入的。

/NewWebCamNote

打开一个新窗口,新窗口可以使用户录制一段摄像头视频作为笔记。这个命令是在印象笔记 Windows 客户端 3.5 版中加入的。

/Task:ClipScreen

调用印象笔记的屏幕剪贴板,并且使用户可以保存屏幕上的任何一部分到新笔记中。等价于在右击任务栏中的印象笔记图表并选择“剪切屏幕”。这个命令是在印象笔记 Windows 客户端 4.0 版中加入的。

/Task:PasteClipboard

创建一个包含剪贴板内容的新笔记。等价于在右击任务栏中的印象笔记图表并选择“粘贴剪切板内容”。如果剪贴板包含文本或 HTML, 或者是一个 .txt, .htm 或 .html 文件,它将会被作为新笔记的内容。如果剪贴板包含一个 .enex 文件,它包含的印象笔记内容就会被导入。如果剪贴板包含一个 .url 文件,新笔记的内容就是这个超链接。如果剪贴板包含一个其他类型的文件,它会被作为新笔记的附件。这个命令是在印象笔记 Windows 客户端 4.0 版中加入的。

/Task:SyncDatabase

使印象笔记 Windows 客户端与印象笔记服务器同步。等价于在右击任务栏中的印象笔记图表并选择“同步”。这个命令是在印象笔记 Windows 客户端 4.0 版中加入的。

ENScript.exe

你可以使用下面描述的命令调用ENScript.exe。注意各个命令不能组合使用。ENScript.exe 中的一些脚本功能与 Evernote.exe 中的功能重合。

ENScript.exe 在印象笔记 Windows 客户端 3.0 及以上版本中支持。

通用参数

除了后面列出的选项,每个 ENScript.exe 命令都接受下面的指定要访问的印象笔记帐户的选项。但这些选项都不是必须的:

  • /u username - 如果要访问的印象笔记用户名与数据库文件的名字不同,可以通过这个选项指定。
  • /p password - 如果印象笔记 Windows 客户端没有保存用户密码,可以通过这个选项指定。
  • /d filename - 如果没有指定用户名,那么可以通过这个选项指定数据库文件的名字。
如果既没有指定用户名,也没有指定数据库文件名,那么将使用最后一个登陆的用户名。如果找不到最后一个登陆的用户名,那么将使用环境变量中的 USERNAME 作为用户名。

createNote

使用下面的选型创建一个新笔记:

  • /s filename - 指定一个包含笔记文本内容的文件。如果不指定,那么将读取命令行的标准输入作为笔记内容。
  • /n notebook - 指定保存新笔记的笔记本名字。如果指定的笔记本不存在,就会被自动创建。
  • /i title - 指定笔记的标题。
  • /t tag - 指定应用到此笔记的标签。如果指定的标签不存在,那么就会被自动创建。你可以重复使用此选项来添加多个标签。
  • /a filename - 指定笔记要添加的附件。你可以重复使用此选项来添加多个附件。
  • /c date - 使用 "YYYY/MM/DD hh:mm:ss" 格式来指定笔记创建的内容和时间。如果不指定,那么就使用当前时间。

importNotes

从一个或多个印象笔记导出文件来导入笔记。

  • /s [filename | url] - 指定一个要导入的 ENEX 格式文件,或一个可以下载 ENEX 文件的 URL 地址。如果不指定,那么就从命令行的标准输入读取 ENEX 格式的内容。
  • /n notebook - 指定保存新笔记的笔记本名字。如果指定的笔记本不存在,就会被自动创建。

showNotes

使当前笔记列表显示查询的结果:

  • /q query - 指定要执行的查询。查询字符串的格式在文档中的搜索语法里有介绍。要显示所有笔记,可以使用 "/q any:"。

printNotes

打印一个笔记集合

  • /q query - 指定要被打印的笔记的查询。查询字符串的格式在文档中的搜索语法里有介绍。要显示所有笔记,可以使用 "/q any:"。

exportNotes

导出指定的笔记到 ENEX 格式的文件:

  • /q query - 指定要导出的笔记的查询。查询字符串的格式在文档中的搜索语法里有介绍。要显示所有笔记,可以使用 "/q any:"。
  • /f filename - 指定保存导出笔记的文件名。如果不指定,那么 ENEX 格式的内容将输出到命令行的标准输出。

createNotebook

创建一个新笔记本

  • /n notebook - 指定笔记本的名字。如果不指定,那么将从命令行的标准输入读取名字。
  • /t [local | synced] - 指定这个新建的笔记本是本地的还是同步的。如果不指定,则默认为同步的。

listNotebooks

列出现有笔记本

  • /t [local | synced] - 指定要列出的笔记本是本地的还是同步的。如果不定制,将列出所有笔记本。

syncDatabase

使印象笔记 Windows 客户端与印象笔记服务器同步:

  • /l filename - 指定写入同步日志的文件名。如果不指定,日志信息将输出到命令行的标准输出。