目次
バッチファイル実行中にコマンド画面の色を変える
一時的にコマンドプロンプトの画面の色を変えるには「color」コマンドを使用します。「color」コマンドの後に変更したい背景の色と文字の色を数字とアルファベットで指定します。
1 |
color [背景の色][文字の色] |
[背景の色]と[文字の色]の間には「スペース」が入らないことに注意して下さい。色の指定は数字とアルファベットで行います。色の対応表を以下の表に示します。
値 | 色 |
---|---|
0 | 黒 |
1 | 青 |
2 | 緑 |
3 | 水色 |
4 | 赤 |
5 | 紫 |
6 | 黄色 |
7 | 白 |
8 | 灰色 |
9 | 明るい青 |
a | 明るい緑 |
b | 明るい水色 |
c | 明るい赤 |
d | 明るい紫 |
e | 明るい黄色 |
f | 輝く白 |
以上、16個のカラーが用意されているので、自分の好みの色を選びましょう。
例えば、背景を青、文字を明るい紫に変更する場合は、コマンドプロンプト上で、
1 |
color 1d |
と入力します。
以下、デフォルト画面と上記のコマンド実行後のコマンドプロンプト画面です。
【デフォルト】
【「color 1d」コマンド実行後】
「color」コマンドで変更した色は一度コマンドプロンプトを閉じると、元に戻ります。デフォルトの画面の色を変更したい方は「コマンドプロント画面を変える -やりたいことから検索-」をご参照下さい。
無理やり作った「color」の出番
「color」コマンドを使った実用的な例として、処理時間が長くいくつかの処理のステージが存在しているバッチファイルを回すときに、現在の処理がどのステージにいるかを分かりやすくするのに使えるかもしれません。
以下のプログラムは処理が4ステージに分かれているバッチファイルを想定して、各ステージに要する処理時間を「timeout」コマンドで仮想的に再現しています(「timeout」は指定した秒数だけ処理を止めるコマンドです)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
@echo off echo stage.1 color 70 timeout /t 5 echo stage.2 color 2c timeout /t 5 echo stage.3 color 19 timeout /t 5 echo stage.4 color 5e echo 処理完了! |
3行目から5行目が第1ステージ、7行目から9行目が第2ステージ、…となっています。各ステージに入ると「color」コマンドで画面の色を変えて、今の処理がどのステージまで進んでいるか分かりやすくしようというものです。
以下に各ステージ毎のスナップショットを載せます。
【stage.1】
【stage.2】
【stage.3】
【stage.4】
これで、処理がどの段階まで進んでいるか画面の色で判断できます。分かりやすいですね(やり過ぎ?)。
…かなり無理やり使おうとするとこんな感じでしょうか?いいアイディアがある方、ご意見お待ちしております。