(2011.12.18)
prompt $e[33;1m$p$g$e[37;1mここで、「$p$g」は「パス名>」形式のプロンプトを意味し、その前後の「$e[XX;1m」で色を指定している。「XX」の部分に色コードを指定する(数値と色の対応は試してみれば判る)。そのあとの「1」は高輝度指定。
問題は、この設定をどこに書くかということ。基本的にC:\AUTOEXEC.BATに書けばよいのだが、この設定の変更を有効にするには、システムのリブートが必要になる。OS/2のDOS窓と違って、WinMeではDOS窓を開く度に別セッションが起動するわけではない。形式的には、むしろDOS上でWindowsシェルが動いているイメージで、「DOS設定の変更=システム全体の設定変更」になる(もちろん、厳密に言えばこの表現は間違っているが)。
C:\AUTOEXEC.BATの中味はmsconfigの[環境]でも確認/変更が可能。 |
で、流石にこれは不便である。リブートなしで設定変更ができないものか?こういうときには自分用のバッチを作成しておくと便利。たとえば、C:\MYBATCH.BATというテキストファイルを作り、その中に先ほどのprompt設定を書いておけばよい。もちろん、このバッチファイルは手作業で実行することもできるが、[MS-DOS プロンプト]のプロパティの[プログラム]タブの[バッチ ファイル]欄に指定しておくと、DOS窓起動時に自動実行してくれる。これが個別のDOS窓用のAUTOEXEC.BAT相当のものだと考えればよいようだ。
もちろん、C:\AUTOEXEC.BAT自体を[バッチ ファイル]に指定する方法もある。
これならばリブート不要で変更が反映される。
C:\AUTOEXEC.BATはシステム起動時と、DOS窓起動時の二度実行されることになるが
中味は環境変数やパス等の設定だけなので、特段の支障は出ないだろう。
%PATH%等の再帰的な設定があると厄介だが、それもないようだ。
ただし、C:\AUTOEXEC.BATを直接書き換えてしまうのは好ましくない。 トラブったときに簡単に元に戻せるように、 システムのデフォルト設定と、ユーザーのカスタマイズをはっきり 分けて管理する方が賢明だからだ。 |
ちなみに、私のバッチファイル(MYBATCH.BAT)の中味は以下のようなもの;
@ECHO ^[[36;1m=== My Batch File === ←コメント表示 set prompt=$e[33;1m$p$g$e[37;1m ←文字色設定 set dircmd=/o:gn ←DIR命令の整列順指定 set vzpath=c:\vz c:\*.bat ←Vzエディタ用 set vzbak=\trash ←Vzエディタ用 path %path%;c:\vz ←パスの追加1行目はコメントを水色(シアン)で出力している。この色指定にもエスケープシーケンスを使用しているが、promptの「$e[XX…」は使えない。エスケープシーケンスを意味する「$e」は、prompt命令専用のもので、バッチ内で汎用的に使用できる指定方法ではない。ECHOの場合は、テキストファイルに直接エスケープシーケンスを埋め込まなくてはならない。これは、[メモ帳]のようなシンプルなテキストエディタでは不可能。しかし、Vzならば「Ctrl+P-Esc」で入力できる(「^[」という表示形式もVz上のもの)。Vzを使う以外にもいろいろとやり方はあるが、ここでは省略。