毎朝、メールより先にチェックするための注意喚起を自動化する仕組み(記事)を構築した筆者であったが、現在のところ非常にうまく稼働している。
まとめると、以下のようなタスク処理を定時に自動で行ってくれる。
1.朝一にメールより前に確認しておくべきことをデスクトップに表示
2.SaaS利用を目的に設定したURLへブラウザで自動移動
3.その日の作業フォルダを西暦日付名で自動作成
こうしてみると、ひとつの改善点は1.の表示部分だ。なぜなら、朝一にメールより前に確認すべきことは、随時変わってくる。どうすれば手軽に編集できうだろうか?CGIで掲示板を作ったことのある人なら、ここはテキスト読み込みだとすぐに思うだろう。筆者も学生時代に大量の掲示板を設置するサイトを作成・運営していた経験があるので、直ぐに閃いた。
テキストを読み込ませる仕様に変える
現状の「朝一起動のPowerShellスクリプト」は以下のようなものだ。
Add-Type -AssemblyName System.Windows.Forms
$msg = @"
9時です。メールを開く前にやること
・その日の提出物確認
・スマホやモバイル端末の充電状況確認
・無駄なメールは後回し
※メールを先に開くと負けです
"@
$result = [System.Windows.Forms.MessageBox]::Show(
$msg,
"朝通知",
[System.Windows.Forms.MessageBoxButtons]::OKCancel,
[System.Windows.Forms.MessageBoxIcon]::Warning
)
if ($result -eq "OK") {
Start-Process "https://news.mynavi.jp"
}
$msg に入れているヒアドキュメント @"~"@の部分をまるまるテキストから読み込ませるには、ファイル読み込みのGet-Content(Microsoft公式API)を用いる。
$msg = Get-Content "C:\Users\●●●\Documents\morning.txt" -Raw
とテキストファイルを指定する。 -Rawは改行もそのままメッセージとして保持するためのオプションで今回は必須だ。これを実行すると
ドキッとするが、見慣れた文字化けなので安心である。テキストをutf-8保存して再度実行すると
無事にテキストファイルを読み込んで表示される。
朝一表示のテキスト編集に特化したasaコマンドを作成する
前回、お掃除収納スクリプトにosoujiを命名し、独自コマンド化している(記事)のだが、「使えるスクリプト→覚えやすい独自コマンド」の所作が手軽に設定できる割に効果的であることを確信している。ここでは"asa"と名付けよう。できれば、コマンドラインで使える充実したテキストエディターのほうが、この場合はいい。朝一にやることを、しっかりと文書作成できれば、より全体としてのグレードが上がる。
Microsoft Editを使いたいところだ(記事)。Microsoft製CLIエディターとしてコマンドラインでの使いやすさは抜群でeditだけで呼び出せるのもいい。前回同様にnotepad $PROFILEでPowerShellのプロファイルを開いて、以下を追加する。
function asa {
edit "C:\\Users\\●●●\\Documents\\morning.txt"
}
PowerShell上で. $PROFILEと入力し設定を反映させる。
朝にやらなければならないことは増加している。メールを開く前にPoweshellを開いて作成した独自のasaコマンドを入力すると、使いやすいEditでmorning.txtが開くので、必要な箇所を修正・追記し、上書き保存する。
PowerShellスクリプトを開いて、ヒアドキュメントに設定した文章を変えるのとでは、探す時間が雲泥の差である上、Microsoft Editを使うことで作成する文章に集中できる。ツールを含めてコマンド化しておくのは、やはり相当よさそうだ。








