このページの本文へ

前へ 1 2 次へ

Windows Info 第337回

Windowsでコンソールのウィンドウタイトルを書き換える

2022年07月24日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

cmd.exeでタイトルバーにカレントパスを表示させる

 cmd.exeでは、コマンドラインでエスケープコードを扱うのが難しい。しかし、プロンプトのカスタマイズ機能からはエスケープシーケンスが利用できる。これを利用すると、カレントディレクトリをタイトルバーに表示することが可能になる。それには、Promptコマンド(cmd.exeの内部コマンド)を使って、

prompt $E]0;$P$E\$E[42;30m$N:$E[39;49m$G$S

とする。

cmd.exeはコマンドでエスケープコードを扱うのは難しいが、Promptコマンドの中ではエスケープコードを「$E」で扱える

 プロンプト指定では$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にはこうした機能がない。

 こうした場合、タイトルバーにパスを表示させれば、コンソール内が有効に利用できる。また、コンソールを複数開いて作業するときなど、自分でタイトルを書き換えておくと、区別がしやすい。意外に見過ごされがちな場所だが、有効に使うと作業効率を改善できる。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン