Windows の at コマンドでリマインダーを実現する

Windows にデフォで入ってる at コマンドを使えば、コマンドラインからワンライナーでリマインダ-を実現できる。コマンド派にとっては実用的なリマインダーになるかもしれない。

前提

  • Windows 7 Pro
    • Home だと本記事の方法は使えません
    • Win10 以降でもダメです

リマインダーを登録する

at HH:MM msg console MESSAGE を実行する。

$ at 11:20 msg console リマインダーです
新しいジョブをジョブ ID = 4 で追加しました。

すると 11:20 になった時に、以下ダイアログが表示される。

f:id:stakiran:20180705195003j:plain

登録済のリマインダーを確認する

at を実行する。

$ at
状態 ID     日付                    時刻          コマンド ライン
-------------------------------------------------------------------------------
        2   明日                    11:20         リマインダーです

リマインダーを削除する

at 2 /delete で ID=2 のリマインダーを削除。

at /delete で全てのリマインダーを削除(確認アリ)。

at /delete /yes で全てのリマインダーを削除(確認無し)。

Q: 即座に実行されるリマインダーは登録できますか?

Ans: できません

たとえば現在時刻が 11:25 の時、at 11:25 msg console リマインダーです を実行したとしても、このリマインダーは即座に表示されません。翌日の 11:25 に表示される リマインダーとみなされてしまいます。

Q: Win10 以降の OS で使いたいんですがどうすればいいですか?

Ans: schtasks コマンドを使ってください

ただし at コマンドよりもだいぶ引数が煩雑で面倒くさいです。