概要
パソコン作業してると、つい時間を忘れて23時まで作業してしまう、、、
翌日は6時から実験なのに!どうしよう!ってことありませんか???
僕はあります。
なので、安心と信頼のwindows君に帰宅管理してもらおうと思いました。
やることは簡単。アラートメッセージを出すbatファイルをどこかに保存しておいて、タスクスケジューラ*1で21:00とかに起動するようにしました。
目次
やったこと
メッセージボックスを出すbatファイルを作成する
このサイトを参考にした。
batファイルは以下の通り。
@echo off if not "%HOGE%"=="hoge" ( set HOGE=hoge start /min cmd /c,"%~0" %* exit ) echo msgbox "21時になりました。",vbCritical,"時刻" > %TEMP%/msgboxtest.vbs & %TEMP%/msgboxtest.vbs
このファイルをkitaku.batという名前を付けて好きなディレクトリに保存。
また、最初は文字コードがUTF-8になっててwindowsが読み込まなかったので、以下のサイトを参考にVSCodeでShift-JISに直した。
具体的には、files.autoGuessEncodingをチェックして文字コードを確認(右下のタブに出てくる)→タブのUTF-8をクリックしReopen with Encodingでshift-JISを選択
タスクスケジューラで定時にbatファイルを自動実行させる
このサイトを参考にした。
- Windowsキー&R
- taskschd.mscと打つ
- タスクスケジューラライブラリを右クリックし、新しいフォルダ(僕はMySchedule)を作成
- MyScheduleを右クリック→タスクの作成
- 名前: kitaku.batの実行、セキュリティオプションはログオンしているときのみ(一応、構成はwindows10にした)
- トリガータブで新規→自分の好きなスケジュールを作成(僕は1日1回、21:00)
- 操作タブで新規→操作はプログラムの開始、参照からさっき作ったbatファイルを選ぶ
あとがき
プロンプトを完全に表示させずにメッセージボックス出すのができなさそうだったので、最小化で妥協しました。
ならプロンプトにメッセージを表示すればよかったのでは、、、???
2023/08/08追記
batファイルじゃなくて途中で作成するvbsファイルを直接呼び出せばよかった。。。
下記のように変更しました。
1 msgboxtext.vbsという名前で以下を保存(VBSはShift-JIS以外にUTF16-LEも使えるらしいので、UTF16-LEにすれば絵文字も打てる)
msgbox "21時になりました。" & vbCr & "急いで帰りましょう!₍₍ ◝(•̀ㅂ•́)◟ ⁾⁾",vbCritical,"時刻"
2 タスクスケジューラでmsgboxtext.vbsを自動実行
*1:定時にプログラムを実行してくれるアプリ。デフォルトで入ってる。