バッチファイル謹製リマインダー。r 3 カップラーメン
で 3 分後に「カップラーメン」と表示。
たとえばファイル名を指定して実行から、以下のようにして指定します。
動作中は DOS 窓が動きますので、適当に最小化でもしておいてください。
時間になると、以下のように 最大化表示したメモ帳 でリマインドされます。
たとえリマインドに気付かなかった(メモ帳ウィンドウが開いたことに気付けなかった)としても心配ありません。リリマインド機能を搭載しており、すぐに再リマインドされます。
- Windows 7 以降
Git を使う方は git clone
などで適当に。
ブラウザからダウンロードする方は Download ZIP より zip ファイルをダウンロードし、適当なディレクトリに展開してください。ただし 展開した r.bat の改行コードが CRLF であることを確認してください。LF だと動作しません。LF の場合は CRLF に手動で変換してください(テキストエディタで開いて CRLF で保存し直す、など)。
- (1)
r.bat
を実行する- データフォルダが
%userprofile%\.commainder
配下に生成されます
- データフォルダが
- (2)
r.bat
をパスの通ったフォルダに配置してください- てっとり早くやりたいなら
open_windows_folder_passed_to_PATH.bat
を実行し、開かれた Windows フォルダに配置します
- てっとり早くやりたいなら
すると「ファイル名を指定して実行」や「コマンドプロンプト」から r.bat を呼び出せるようになります。
呼び出し例:
- 3分後に「カップラーメン」と表示
- →
r 3 カップラーメン
- →
- 3分後にリマインド(メッセージ内容を省略する)
- →
r 3
- →
一般的なフォーマット:
r (分) (リマインド内容)
- 分を省略すると 0 とみなされ、即座にリマインドされます。
- リマインド内容は省略できます。
リリマインドとは、一度リマインドした内容を再びリマインドすることです。リマインドに気付かなかった場合に、再度気付かせるための用心と言えます。
Commainder のリリマインドとしては、最初のリマインドで開かれた「メモ帳」が存在する限り、インターバル間隔ごとに再度そのメモ帳を開く、という処理を行います。リリマインドを止めたい場合は、リマインドにて開かれたメモ帳ウィンドウをすべて閉じるか、あるいは Commainder 本体のコマンドプロンプトウィンドウを閉じてください。
Commainder の実装や疑問や不満など、技術的なことを Q&A 形式でまとめておきます。技術的に興味がある方向けです。ただ使うだけなら読む必要はありません。
Ans: ただの好奇心です。
バッチファイルだけでリマインダーを作る、というチャレンジが面白そうだなぁと。
Ans: なるべく確実にリマインド内容に気付かせるためです。
リマインドするためには「指定したメッセージを何らかの手段で表示」させることが必要ですが、Windows 標準機能だけでは、これを行える仕組みがありません。
- msg コマンドは?
- ダイアログボックスが小さく、気づきにくいので却下しました
- Powershell や VBScript は?
- 動作が重たいし、バッチファイルから外れるので却下しました
上手い表示方法が浮かばず、苦戦していたのですが、ふと「そうだ、リマインド内容をテキストに書いといて、それをメモ帳で開けば、気付きやすいんじゃないか」とひらめき、実装してみたところ、良い感じでしたので採用しました。
Ans: 他に良い方法がありません。
詳しい方なら、既にパスを通したフォルダがあるでしょうから、勝手にそこへ置けば良いと思います。
そうでない場合、パスを通したフォルダを準備させるのは手間なので、「元から通っているフォルダに入れればいい」という指示にしました。Windows フォルダという、システムフォルダに入れるのは行儀がよろしくありませんが、元から通っているフォルダが他にないので、仕方ありません。
Ans: 戻せません。ご了承ください。
タイトルを戻すためには、「コマンドプロンプトに現在表示されている内容を取得する手段」が必要になりますが、これが存在しません。もし存在するのなら、ぜひ教えてほしいです。r.bat に実装します。
Ans: 削除はしません。
削除というデリケートな操作を勝手に行う方が気持ち悪いと思うので、Commainder としては対応しません。