#author("2021-04-19T11:19:44+09:00","default:nobuoki","nobuoki")
#author("2021-04-19T11:20:35+09:00","default:nobuoki","nobuoki")
* はじめに [#qbb2c150]

Windows10でコマンドプロンプトを使い、一定時間で勝手に消えるド派手なメッセージダイアログを作ります
タスクスケジューラと組み合わせると、定期的に通知を出すことが出来て便利です(後述)

#ref(./dos-msg-dlg.png,50%)
#ref(./dos-msg-dlg-zoom.png,wrap)


* 解説 [#j0cec9c2]

バッチファイルを2行書くだけです

- echo で表示
- timeout で一定時間待機
- それぞれ先頭に @ を付けてコマンドが表示されないようにする

#prism(dos){{{
@echo そろそろ休憩しようぜ!
@timeout /t 10 /nobreak >nul
}}}

#ref(./dos-msg-dlg-simple.png,50%)

簡単ですが、ちょっとダサいですね

* 応用 [#z0025622]
** 見た目を変える(派手にする) [#cee15837]

- 色を変える: color コマンド
-- [[コマンドプロンプトの色 コマンドで変更する備忘録 | SEからの脱出日記 サーバー ネットワーク パソコン備忘録>https://nw-engineer.work/color/]]
- ウィンドウサイズを変更: mode コマンド
-- [[コマンドプロンプトからウィンドウサイズを変更する | まくまくWindowsノート>https://maku77.github.io/windows/settings/change-window-size.html]]
- タイムアウト待ちのメッセージを非表示に: timeout コマンドを nul へリダイレクト
- 日付や時刻を表示したい: 環境変数を利用
-- [[Windowsのバッチファイル中で日付をファイル名に使用する:Tech TIPS(1/2 ページ) - @IT>https://www.atmarkit.co.jp/ait/articles/0405/01/news002.html]]

これで冒頭のような出力になりま
#prism(dos){{{
@color 4f
@mode 80,4
@echo [%date% %time%] そろそろ休憩しようぜ!
@timeout /t 10 /nobreak >nul
}}}

#ref(./dos-msg-dlg-zoom.png,wrap)
#ref(./dos-msg-dlg.png,50%)

** 定期的に表示する [#q732fcfb]

詳細は割愛しますが、下記のページが分かりやすと思うので各自挑戦してみて下さい

- [[Windows10でタスクを1時間間隔で実行する方法>https://www.wannko.net/windows10/kihon/task5.html]]
- [[【Windows 10対応】タスクスケジューラで定期的な作業を自動化する:Tech TIPS(1/2 ページ) - @IT>https://www.atmarkit.co.jp/ait/articles/1305/31/news049.html]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS