EnCreate

2017/05/01

EnCreate とは

Evernote にノートを追加するWindows用コマンドラインアプリです
enscript.exe /CreateNote に似たオプションを持っていますが、Evernoteがインストールされていない環境でも動作します

動作環境

Windows 10/8/7/Vista

特徴



利用前に必ずお読み下さい

準備

EnCreate のダウンロード

EnCreate 本体をダウンロード、解凍してファイルを適当なフォルダへ置きます
EnCreate.exe は標準で自身のフォルダに Token情報を記録する EnCreate.ini を作成します
Users 配下に配置するか、 Program Files や Program Files (x86) で利用する場合は /IniFile オプションを使用してください

Evernote Developer Token の取得

EnCreate は Evernote アカウントへ接続するために、Developer Token(Token) と NoteStore URL(Store URL) を利用します.
これらの情報は Evernote Web へサインイン後 https://www.evernote.com/api/DeveloperToken.action を開いて取得します.

  1. https://www.evernote.com/api/DeveloperToken.action を開きます
    サインインしていない場合はサインインします
  2. Create Developer Token を押す → 生成画面
  3. 表示される Developer TokenNoteStore URL を EnCreate で利用します
  4. EnCreate.exe を初めて起動すると、Developer TokenNoteStore URL を聞いてくるので、それぞれ入力(コピペ)します → EnCreate.ini に保存される

Token は、有効期限(Expires の箇所)を過ぎるか、上記サイトの [Revoke your developer token] ボタンで破棄すると、
該当アカウントへ接続できなくなりますので、継続して利用するには再生成が必要です.
また、利用しなくなったときや Token情報が流出した可能性があるときは、速やかに上記サイトから破棄するべきです.

使用方法

使用例

enscript /CreateNote に似た利用方法です
ex.> EnCreate.exe /I "test note" /S notebody.txt
ex.> EnCreate.exe /I "デス ノート" /S notebody.txt /A file1 /A file2 /T tag1 /T tag2
スペースを含むオプションは、" で括って下さい

いろいろと
添付ファイル名から作成日と更新日を取得して、ファイル名(拡張子なし)を件名に設定
ex.>ENCreate.exe /N LogData /C %FileNameDate% /E %FileNameDate% /I %FileName% /S dummy.txt /A 2016-08-01.log

enscript /CreateNote 互換オプション

オプション 意味 備考
/N 登録先ノートブック名 /N の次のオプションでノートブック名を記載. 省略時は Evernote のデフォルト
/I タイトル /I の次のオプションでタイトルを記載. デフォルトエンコードで処理します
/S 本分のファイル /utf8を併用しない場合、ファイルの内容をデフォルトエンコードで処理します
省略時は、標準入出力から本文を入力します(終了は Ctrl+Z)
/A 添付ファイル /A の次のオプションでファイル名を記載. 複数ある場合は /A file1 /A file2 ...の繰り返し
※ファイルが存在しない場合でも、処理は続行されます
/T タグ /T の次のオプションでタグ名を記載. 複数ある場合は /T tag1 /T tag2 ...の繰り返し
/C 作成日時 /C の次のオプションで "YYYY/MM/DD hh:mm:ss" または filetime の形式で指定. 省略時はその時の日時
/E 更新日時 /E の次のオプションで "YYYY/MM/DD hh:mm:ss" または filetime の形式で指定. 省略時はその時の日時

enscriptと違い、コマンドラインはデフォルトエンコードで処理します.
日本語Windowsで、コマンドラインからの入力が文字化けする等の回避策です.

その他のオプション

オプション 概要 備考
/Utf8 /S で指定したファイルを UTF8 として扱う 省略時はデフォルトエンコード(日本語Windowsはsjis)
/LT 先頭行をタイトルに利用 コマンドラインまたは /S 指定ファイルの先頭行をタイトルとして処理する(ver 1.0.2.0 以降)
/Zip 添付ファイルを Zip圧縮 /A で指定されたファイル毎に圧縮します(要 7-zip32.dll)
/7z 添付ファイルを 7z圧縮 /A で指定されたファイル毎に圧縮します(要 7-zip32.dll)
/Pass= /Zip または /7z を指定したパスワードで保護 /Pass= に続けてパスワードを記載
/IniFile= iniファイルの指定 /IniFile= に続けて指定するiniファイルパスを記載
/Token= Developer Token /Token= に続けて Developer Token を記載
/StoreUrl= NoteStore URL /StoreUrl= に続けて NoteStore URL を記載
/OneTimeToken Token と URLを iniファイルへ保存しない  
/EraseToken iniファイルの Token と URL をクリア 単独で利用

置換変数

日時(/C および /E で利用)
変数 概要 備考
%FileTime% ファイル日時 enscript の /C filetime と同じ
%FileCTime% ファイル作成日時 /A オプションで先頭のファイル
%FileMTime% ファイル更新日時 /A オプションで先頭のファイル
%FileATime% ファイルアクセス日時 /A オプションで先頭のファイル
%FileNameDateTime% ファイル名の数字 ファイル名先頭から数字12桁を取り出し生成
(ex. 2016_01_02_1320_foo.dat )
%FileNameDate% ファイル名の数字 ファイル名先頭から数字8桁を取り出し生成
(ex. 2016-01-05.log )

タイトル(/I で利用)
変数 概要 備考
%FileName% /A オプションで先頭のファイル名(拡張子なし)  
%FileNames% /A オプションのファイル名 複数のファイルを羅列
%FileNameEx% /A オプションで先頭のファイル名(拡張子有り)  
%FileNamesEx% /A オプションのファイル名(拡張子有り・複数羅列) 複数のファイルを羅列

終了コード

コード番号 説明 備考
0 正常終了 コマンドラインへ Note id が表示されます
1 認証失敗 Developer Token や NoteSite URL を確認して下さい
2 作成失敗(ローカル) アップロード前のローカル処理で問題発生
3 作成失敗(データ送信) アップロードで問題発生
上記以外 その他 その他の原因で正常終了出来なかった

捕捉

7-zip32.dll の入手
こちらからダウンロード・インストールして、7-zip32.dll へパスを通すか EnCreate.exe と同じ場所に置いて下さい

Zip/7z の圧縮について
添付ファイルはそれぞれが圧縮され、通常 複数のファイルを一つの書庫へまとめることはありません.
これは、Evernote は同名のファイルを一つのノートへ複数保存できますが、zip等の書庫は同一パスに同名のファイルを格納できないことからです.
(ex. e:\foo.pdf と f:\foo.pdf を一つのノートに添付できるが、別ドライブのパスを一つの書庫へまとめられない)

複数のファイルをまとめて圧縮するには、任意のフォルダ配下にファイルを置き /Zip または /7z と併用して /A オプションにそのフォルダを指定することで、可能になります.
※/Zip や /z7 を用いずに /A オプションにフォルダを指定するとファイルでないため無視されます

コマンドラインから本文を入れた時の終端
Ctrl + Z で本文の入力を終わらせられます(enscriptと同じ)

アンインストール

EnCreate.exe と EnCreate.ini を削除してください.
不要であれば Evernote のサイトから Developer Token の削除も忘れずに

その他

作者へのコンタクト

フォームからご連絡下さい
bat構文や基本的すぎる質問、飛躍した要望はご遠慮ください。