先日作成した CraftLaunch から Remember the Milk(以下 RTM)へタスクを登録するスクリプトを紹介してみます。
smail という送信専用のメールプログラム(フリーソフト)があることを知り、これを使ってランチャからメールを送信して RTM にタスクを追加できるのではないかと考えました。
まず、smail からのメール送信を試してみます。コマンドラインから下記のように入力して、RTM に登録できていることを確認し、rtm_sendmail2.bat としてバッチファイルにしておきます。
1 | smail.exe -d -hsmtp.gmail.com -F"rtmtask.txt" ryskosn+hogefuga+import@rmilk.com |
rtmtask.txt はタスク内容を記録するテキストファイル、ryskosn+hogefuga+import@rmilk.com は RTM のタスク登録用メールアドレスです。
RTM にメールからタスクを登録する方法は 2 種類あって、ひとつはメールの件名にタスクを記述して送信するやり方、もうひとつは件名には登録先のリストを指定して(空欄の場合は Inbox に入る)、メール本文にタスクを記述して送信するやり方です。
詳しくは下記の記事などに書かれています。
- Remember The Milk 日本版 公式ブログ ? Tips : メール送信でタスクを追加する(受信箱のメールアドレス)
- これなら毎日できるタスク管理 1から学ぶRemember The Milk:第7回 いろんな方法でタスクを登録する|gihyo.jp … 技術評論社
最初は CraftLaunch から引数としてタスク内容を渡せばよいかと考えたのですが、少し試してみたところ、既に登録したタスク内容が CraftLaunch の履歴に残って補完に引っかかるので、少々微妙です。
Windows の機能でテキスト入力欄を表示させるのが一番簡単そうだったので VBscript について調べて、InputBox 関数で実現できることがわかりました。
InputBox に入力したテキストを rtmtask.txt に書き込んで、smail で rtmtask.txt を本文としてメールを送信するバッチファイルを実行します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | ' タスクの入力 Dim task task = InputBox("タスクを入力する", "RTM quick") ' ファイルの操作 Set objFso = WScript.CreateObject("Scripting.FileSystemObject") Set objFile = objFso.OpenTextFile("rtmtask.txt", 2, False) If Err.Number > 0 then WScript.Echo "Open Error" else objFile.WriteLine task end if objFile.Close Set objFile = Nothing Set objFso = Nothing ' メールの送信 SendMail() Sub SendMail() Set ws = WScript.CreateObject("WScript.Shell") ws.Run "rtm_sendmail2.bat", 7 WScript.Echo("タスク追加 OK") end Sub |
あとはこの VBscript を CraftLaunch に登録すれば、いつでもササッとタスクを登録することができます。

↑ CraftLaunch から上記スクリプトを実行します。rrtask というコマンド名を割り当てました。

↑入力ダイアログが表示されるのでタスク内容を入力します。Enter を押すと(OK をクリックすると)バッチファイルが実行されて smail からメールが送信されます。
ちょっとスクリーンショットの撮り方がイマイチでした。
参照 URL
- コマンドラインでメール送信する方法 (リマインダシステムを3分で作ろう) – 主に言語とシステム開発に関して
- fenrirからSMAILでメール送信 – 星火燎原
- VBScriptの基本を押さえよう(その1) 文字列の入出力 ? @IT
- @IT:運用 Windows管理者のためのWindows Script Host入門 第5回 WshShellオブジェクトの詳細(1) 2.プログラムの実行方法1―Runメソッド
- @IT:運用 Windows管理者のためのWindows Script Host入門 第10回 WSHスクリプトからのファイル操作(1)
- vbsからバッチファイル実行時の引数渡しについて | OKWave
- 【WSH サンプル集】テキストファイルを書き込む – WSH@Workshop
