rcmdnk's blog

20231205_obsidianimporter4_200_200

Evernoteが無料ユーザーのノート数制限を50までにする、という宣言をして、 流石に使い続けるのは無理な感じになってきたのでObsidianへの移行を試みます。

Evernote

/blog/tags/evernote/

2012年の頃から使っていたようで、現在6000以上のノートがあります。

途中、色々と移行を試みましたが、結果Evernoteが一番良いかということで使い続けています。

2016年に無料ユーザーの端末制限が2台までになったところで一旦プレミアムを契約してしばらく使っていました。

当時プレミアムは年間5200円でしたが、キャンペーンとかで半額とかで使えることが多かったので年間2~3千円のイメージでした。

プレミアムだと月間アップロード制限が大幅に上がったりPDFファイルをOCRしてくれたり結構便利でしたが、 自分の使い方的にメインPCとスマホの2台だけで使えればいいか、ということもあり 数年後にプレミアムは解約して無料で使ってました。

今回も年間数千円な感覚なら契約しても良いかな、と思ってましたが、 ここ数年で倍、倍と値上げして行って、Personalという中間プランで年間93000円、 Professionalで12400円という現状。

現在有料プランを契約していて解約しようとすると半額を提示されたりすることもあるみたいですが、 それでも5000円位。

そんな中、12月4日からノート数の制限を50, ノートブックを1つだけ、という制限を課すとのお知らせが。

Update: Evernote Free accounts will have fifty notes and one notebook

現在4日になってヨーロッパ時間とかでも反映されても良さそうな時間帯ですが、 まだ新しいノートを作れていますがいずれ制限がかかるのかと。

長く使ってきたのでそれくらいの課金は良いかと思う一方、 すでにどうしてもこれ、というわけではないし、 そろそろ他のものに移っても良いのでは、ということで真面目に考えてみることに。

移行先候補

OneNote

昔考えたのはMicrosoftのOneNote。数年前までEvernoteの移行先としては第一候補にあがるようなものでした。

なんですが、最近(2022年9月)OneNote公式のインポートツールが廃止されました。

Evernote から OneNote に移動

これ以外に、非公式ツールですが、 Evernote2Onenote というものがありますが、チョット試してみたところ上手くうごきませんでした。

OneNoteをストア版ではなく、 OneNote のダウンロード から直接入れるデスクトップ版を入れないといけない、といった記述も見られましたが こっちを入れてみても駄目(というかインストーラーを実行すると同じものが入るだけ。)。

ということで移行が難しいという状態。

Notion

ノートアプリといえば最近流行りのNotion

実際Notionは別のところで使ってたりしますが、Evernoteのかわりとしては使えていません。

一番の理由はインポートが上手く行かないから。 Notionには 公式のインポート手段がありますが、 数が多すぎるのか試してみても途中で止まってしまい、 途中から再開したり一部だけをコピーすることも出来ないので使うのであれば新規に別のものとして使う必要があります。

一方、個人メモとして使うには、

  • ブロック単位の記述がシンプルなメモとしては面倒
  • すべてオンラインベースでローカルでオフラインで使えない

という点で微妙だな、とも。

UpNote

2019年ころにリリースされたUpNoteは比較的新しいツールで、Evernoteより出来ることは少ないですがシンプルで使いやすいと評判のツール。

無料だと作れるノートは50個までと新しいEvernoteと同じですが、 月額100円での利用他、3500円での買い切りの利用も可能ということなので、数年使うのであれば 買って使っていきたいレベルです。

Evernoteの制限が発表されてから移行先として最も上がっているのがUpNoteかもしれません。

Evernoteからの移行ツールもあり、使い勝手的にもEvernoteに近いものもあり、 Evernote感覚で使いたい、ということであれば一番の候補先になるかと思います。

ただ、Evernoteの値上げで見ても分かるように、 3500円での買い切りの状態でサービスがどれだけ維持できるのか、という不安は結構あります。

Obsidian

MarkdownファイルをベースにしたObsidianは2020年かにリリースされた新しいソフトウェア。

メモツールとしては個人利用は無料。

Evernoteなどと違い、データはローカルにあるMarkdownベースのファイルを中心に管理するので すべてオフラインだけでも利用できます。

他の端末と共有したい場合、Obsidian Syncという有料サービス($8)を使う事もできますが、 Google Driveで共有したりGitを使ってGitHubなど経由で共有することも可能です。

また、プラグインを作り公開することが可能で、 ブラウザやエディタで拡張機能を色々使ったり作ったりするのが好きな人は 楽しい部分があります。

データも基本的にはMarkdownファイルでの管理なので、Obsidianを使わなくても 直接見たり編集したりすることが可能なのも強い点です。

最悪いきなりツールも含めて使えなくなってもメモとしては簡単に見れる状態にはなっていますし、 他の物への移行も比較的容易に出来るはず。

Obsidianを知った時にすぐに使わなかった理由としては スマホで使う際、PCとの同期がちょっと面倒であるということ。

Obsidian Syncを使わない場合、現状でやるとするとGitを使った同期になります。

ただ見るだけであればGoogle Driveでファイルを管理しておいてスマホから Driveの中のファイルを直接見る、という手もあるにはありますが。

というわけで、使ってみたいとは思いつつ、チョット面倒だな、という感じでしたが、 今回のきっかけで使ってみようと思って移行先としてObsidianを選びました。

EvernoteからObsidianへの移行

Evernoteからのexport (公式な方法だとつらい)

Evernoteからノートを移行する際に、まずはEvernoteからノートをエクスポートします。

で、このエクスポート、以前はいくつでもすべてのノートを一括で出来たと思いますが、 最近は出来なくなっていて、ノートブック毎か、もしくはノートを複数選択して、ですが、 選択が100個まで、となっています。

ノートとノートブックを ENEX または HTML 形式でエクスポート – Evernote ヘルプ&参考情報

複数ファイルの選択に関してはそもそも一覧画面で100個以上を選択しようとするとwarningが出て100個までしか選べません。

20231205_evernote100.png

これに関しては設定ファイルを直接いじることで100個以上選べるようにもなるとの話もありますが、

Cannot select more than 50 notes - Evernote for Mac Requests (Versions 10.0 and above) - Evernote User Forum

WindowsでC:\Users\User\AppData\Roaming\Evernote\config.json にあたるファイルに対して

1
2
3
  "qa": {
    "multiSelectionLimit": 500
  }

を加えてみましたが、Evernoteを再起動したりしても100個の制限は変わりませんでした。

ノートブック単位であれば100個以上でもまとめてエクスポート可能ですが、 ノートブックがたくさんある場合けっこう大変なことになります。

また、200個とかのノートブックで試してみましたが、Webクリップとかで大量の画像とかを含んでいるものが多いと かなり時間がかかり、全く終わりませんでした。

ということで、素直なexportだと上手く行かない。。。

Evernoteからのexport (evernote-backup)

ということで、ちょっと探してみたところ、 evernote-backupというものが便利そう。

Export all notes with current Evernote? : r/Evernote

知りませんでしたがEvernoteが公式のSDKを様々な言語で出していて Python用のものを使っているツールです。

このSDKを使ってアクセスする際、端末制限にひっかかるかと思いましたが どうやら制限外にあるようで2端末接続を保ったまま認証してノートをダウンロードしたりすることが出来ました。

これを使ってバックアップを取ってみます。

1
2
3
4
$ pip install evernote-backup
$ evernote-backup init-db
$ evernote-backup sync
$ evernote-backup export output_dir/

これだけでEvernoteの.enexファイルがノートブック毎にoutput_dirの中に保存されます。

以下は実際にやったログ。

init-dbで認証をして、その際に

1
2
3
4
5
6
7
8
9
10
Logging in to Evernote...
Username or Email: [email protected]
Password:
Enter one-time code: 123456
Authorizing auth token, evernote backend...
Successfully authenticated as <username>!
Current login will expire at 2024-12-04 21:01:05.
Initializing database en_backup.db...
Reading database en_backup.db...
Successfully initialized database for <username>!

と言った感じにアカウントのユーザー名も出てきてきちんと自分のアカウントで認証できたかがわかります。

これを実行するとen_backup.dbというデータベースファイルが現在のディレクトリに出来ます。

syncを実行すると実際にノートの同期が行われます。 6000位のノートがありましたが、大体1時間くらいかかりました。

Evernote上でノートの数は6075と表示されてましたが、何故か7171のノートをダウンロードしていてます。

Expunged notebooks/notesがなんなのかは不明(ローカルで消したものはローカルのゴミ箱にあるはずだしWeb版では操作をしていない)。 初のsyncなのでDB内にノートは無いはずなので、謎。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ evernote-backup sync
Reading database en_backup.db...
Authorizing auth token, evernote backend...
Successfully authenticated as <username>!
Current login will expire at 2024-12-04 21:01:05.
Syncing user notebooks...
  [####################################]  110286/110286
7171 note(s) to download...
Downloading 7171 note(s)...
  [####################################]  7171/7171
Updated or added notebooks: 101
Updated or added notes: 7171
Expunged notebooks: 59
Expunged linked notebooks: 0
Expunged notes: 299
Synchronization completed!

まあ謎ですがとりあえず出来たっぽい。sync実行後、en_backup.dbは4GBちょっとになりました。

これでデータはローカルに取れたのでこれを.enex形式でのファイルにexportします。

1
2
3
4
5
$ evernote-backup export output_dir/
Reading database en_backup.db...
Exporting notebooks...
  [####################################]  101/101
All notes have been exported!

こちらも1時間位かかりました(ちゃんと見てなかったのでもうちょっっと短かったかもしれない)。

これで出力すると、ノートブックごとのファイルに出力され、スタックを使って構造化している場合には その構造のフォルダが出来てその下にノートブックのファイルが出来ます。

これで出したファイルの合計は6.5GBくらいでした。

Obsidianへのimport

exportしたファイルをObsidianにimportします。

importにはユーザーが作ったコミュニティプラグインを利用します。

Obsidianの設定画面からコミュニティプラグインへ行き、 まず、コミュニティプラグインを有効化します。

20231205_obsidiancommunityplugin.png

20231205_obsidiancommunityplugin2.png

閲覧へ飛んでimporterで検索するとImporterというプラグインがあるのでそれをインストールして有効にします。

20231205_obsidianimporter.png

インストールした後の画面で有効化をするのを忘れずに。

20231205_obsidianimporter2.png

コミュニティプラグインですがこのプラグインは Obsidian.mdの下で管理されていて公式的なもの?

有効化するとObsidianの左バーにこんなボタンが出てくるのでこれをクリックすると色々なファイルをImport出来ます。

20231205_obsidianimporter3.png

20231205_obsidianimporter4.png

File formatでEvernote (.enex)を選択してexportしたファイルを選んでimportします。

フォルダごと選択してすべてをImportすることも可能。

先程作ったoutput_dirを指定すればすべてのノートブックをimportすることも出来ます。

ただ、その際にはフォルダ構造は無視されてスタック構造は作られずにすべてのノートブックが 指定したOutput folderの下に同列にフォルダとして作られその中にノートが作られます。

なので、スタック構造を維持したい場合は、output_dir以下のフォルダごとに指定して、 Output folderの名前をスタックの名前にしてImportすればEvernoteと同じような構造にすることが出来ます。

また、一気に大量にimportすると上手く行かなかったりした際に面倒なのでスタックがそこまで多くなければスタックごとのがおすすめです。

一旦すべてをImportしてからObsidian上で構造を作ることも可能ですが、 実際やってみたところ、100個程度のノートを持つフォルダを別のフォルダの下に移動させようとすると リンクのチェックなどが行われることもあり、数分かかりました。

また、その後別の移動をしようとしても何故か上手くいかないことも。

さらに、いろいろやっているとノートブック内のノートが他のノートブックないのものと混合したりごちゃごちゃになってました。 おそらく上の移動ができない状態とかが何かが壊れたか、処理が終わってないか変な状態になっていたか。

なので全部importしてから構造を作り直すのはあまり良くないです。

また、エラーではないですが、Importした直後、一部のノートが見えない状態になっていて、 実際にファイルを作ったフォルダを見ると該当のマークダウンがあり、 再起動すると表示される、ということが時々起こりました。(同じものは再度やってもおなじようになる。)

ノートの名前の中の日本語だとかスペースだとかの問題とかっぽいですが、該当ファイルをいくつか見てもはっきり何が悪いかはよくわかってません。 一度再起動すると後は問題なく使えるのでまあ良いか、と。

最後に、Importした際の問題として、いくつかのノートがfailedになって入れることが出来ませんでした。 これも再現性があり、何度やっても決まったノートがfailedになります。

見てみるとほとんどがWebクリップ、HTMLコンテンツ(おそらく2019年以前のweb cliperによるもの?)のものでした。

20231205_evernotewebclip.png

ですが、Webクリップのノートでも成功しているものもあり、何が原因かは不明。

とりあえず6075あるはずのノートで5836のノートが移行出来ました 1

失敗したのはほとんどがWebクリップだと思うのでとりあえずは無視して良いかと思ってます。

インポートにかかる時間は10位のスタックがあってそれぞれ1000弱のノートですがそれぞれ数分という感じでした。

すべてインポートした後、該当のObsidianのディレクトリを見てみると3.5GBほどになっていました。

その他

タグ

Obsidianにはタグ機能があり、Evernoteでタグを使っているとそのまま使えますが、 タグにスペースとか記号があるとタグとして正しく認識されないので必要であればexportする前に変更しておくと良いとのこと。

EvernoteからObsidianに移行しました - あるSEのつぶやき・改

自分の使い方的にはほとんどタグを使ってなかったのであまり気にしませんでしたが、 一応つけてるタグはすべてアルファベットのスペース無しだったので問題なし。

他のサービス経由でのインポート

インポートに失敗したノートに関して、OneNoteとかに一旦移行してとこからObsidianにインポートすれば? とかも考えましたが上にも書いた通りOneNoteへの移行ツールは現状まともに使えるものがなく、 Notionとかへの移行は上手くいかないのでまあいいか、ということで無理にやらないでそのままにしてあります。

復号

Evernoteにはテキストの暗号化機能があり、それを使っているノートがいくつかあります。

そういったノートはexportするとその部分はもちろん暗号化されたままなわけで、Obsidianへインポートしても暗号化されたテキストが表示されます。

これに関してはEvernoteの暗号化方式は公開されているので、パスフレーズさえあれば暗号化されたテキストを復号することが可能です。

Evernote はどのような形式の暗号化を使用していますか? – Evernote ヘルプ&参考情報

Pythonで pycryptodome とかを使ってちょっとやってみましたが出来ることが出来たのでチョットこれとか使って プラグイン的なものを作るかなにかしてみたいと思っているところ。

必要なところは必要な時にEvernoteから直接コピーしてしまうのもありかとは思ってますが。 (ファイルに直接残すのが良いか悪いか問題があるので考えものですが。)

まとめ

とりあえずノートの移行は出来ました。

あとは今までのEvernoteの使い勝手と同じ様にできるようにしたり、 Obsidianでのいい感じの使い方を探っていきます。

Sponsored Links
  1. Evernoteの様に全体や各フォルダごとのノートの数を表示するのに File Explorer Note Count というプラグインを導入しておくと便利です。

Sponsored Links

« numpydocでPythonのdocstringをチェック ObsidianでEvernoteライクにWebクリップ、トレイアイコン化で使う »

}