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にはこうした機能がない。
こうした場合、タイトルバーにパスを表示させれば、コンソール内が有効に利用できる。また、コンソールを複数開いて作業するときなど、自分でタイトルを書き換えておくと、区別がしやすい。意外に見過ごされがちな場所だが、有効に使うと作業効率を改善できる。
この連載の記事
-
第428回
PC
Google/Bingで使える検索オプション -
第427回
PC
WindowsのPowerShellのプロファイルを設定する -
第426回
PC
WindowsでAndroidスマホをWebカメラにする機能を試した -
第425回
PC
無料で使えるExcelにWord、Microsoft 365のウェブ版を調べた -
第424回
PC
Windowsの基本機能であるクリップボードについてあらためて整理 -
第423回
PC
PowerShellの今を見る 2つあるPowerShellはどっち使えばいい? -
第422回
PC
Windows 11の目玉機能が早くも終了、Windows Subsystem for Android(WSA)を振り返る -
第421回
PC
進化しているPowerToys LANで接続したマシンでキーボード/マウス共有機能などが追加 -
第420回
PC
Windowsプレビュー版に搭載されたsudoを試す -
第419回
PC
Windows Insider Previewが変わって、今秋登場のWindows 11 Ver.24H2の新機能が見えてきた? -
第418回
PC
Windows 11のスマートフォン連携は新機能が追加されるなど、いまだ進化している - この連載の一覧へ