cmd.exeでタイトルバーにカレントパスを表示させる
cmd.exeでは、コマンドラインでエスケープコードを扱うのが難しい。しかし、プロンプトのカスタマイズ機能からはエスケープシーケンスが利用できる。これを利用すると、カレントディレクトリをタイトルバーに表示することが可能になる。それには、Promptコマンド(cmd.exeの内部コマンド)を使って、
prompt $E]0;$P$E\$E[42;30m$N:$E[39;49m$G$S
とする。
プロンプト指定では$Eでエスケープコードを指定することが可能だ。タイトルの変更は先頭部分の「$E]0;$P$E\」で行なっており、「$P」はカレントディレクトリを示すPromptコマンドの記号である。
後半の「$E[42;30m$N:$E[39;49m」は、ドライブ文字を緑色の背景に黒い文字で表示するためのもの。最後の「$G$S」は、「>」記号とスペースに変換されて表示される。詳細は、promptコマンドのヘルプ(prompt /?)を参照いただきたい。
もし、こうして作成したプロンプトをいつも使いたい場合には、setxコマンドで、デフォルトのユーザー環境変数値として設定しておくとよい。
setx PROMPT $E]0;$P$E\$E[42;30m$N:$E[39;49m$G$S
ここで「PROMPT」は、コマンドではなく環境変数の名前である。コンソールウィンドウをすべて閉じれば、次回からcmd.exeの標準プロンプトが指定したものになる。もちろんconhostウィンドウでも、Windows Terminalでも同じように使える。
PowerShellの場合、プロンプトは、Prompt関数で表示しているのでこれを書き換える。手順としては、$PROFILEで指定されている起動スクリプト(プロファイル)を編集してPrompt関数を記述する。こちらは関数の編集なので、ちょっと敷居が高い。別の機会に解説させてほしい。
Windowsで扱うファイルやディレクトリは、以前に比べると長いものが多く、プロンプトにパスを表示させてしまうと、その長さがコンソールの半分以上になってしまうことが多い。bashにはパスを「はしょる」機能があるのに、cmd.exeにはこうした機能がない。
こうした場合、タイトルバーにパスを表示させれば、コンソール内が有効に利用できる。また、コンソールを複数開いて作業するときなど、自分でタイトルを書き換えておくと、区別がしやすい。意外に見過ごされがちな場所だが、有効に使うと作業効率を改善できる。

この連載の記事
-
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す -
第501回
PC
Windows 11 Ver.25H2での変更点、新機能を整理する -
第500回
PC
Windows 11 Ver.25H2が完成した -
第499回
PC
Windowsでの致命的だが回復可能なエラーに備える手段を2つ紹介 -
第498回
PC
Windows Terminalの安定版V1.23が公開 設定UIが改良される - この連載の一覧へ












