コマンドプロンプトを使って作業するときプロンプトにカレントディレクトリのパスが表示され、カレントディレクトリによってコマンド入力位置が異なる。

これがとてもウザいのでカスタマイズしてみた。

デフォルトのプロンプト

以下のようにcdするたびに入力位置が変わり作業しづらい。 prompt1

プロンプト変更

プロンプトに表示される内容はpromptコマンドで変更できる。

prompt 特殊コード

※特殊コードの大文字・小文字は問わない。

特殊コード 説明
$d 現在日付
$t 現在時刻(100分の1秒まで)
$h バックスペース(直前の1文字消去)
$g >
$l <
$q =
$v Windowsのバージョン
$$ $
$p カレントのドライブとパス
$s 空白
$_ 改行

どんなプロンプトが使いやすいか考えたが、とりあえず以下の三点を満たすプロンプトにする。

  1. 現在日時を表示
  2. カレントのドライブとパスを表示を表示
  3. コマンド入力は常に同じ位置

この三つを改行して設定するには以下のようにする。

prompt [$d$s$t$h$h$h]$_$p$_$g$s

現在日時の表示は単純に$d$s$tだと2017/06/07 16:35:00.37のように100分の1秒まで表示されるが、$hで3文字消すと秒までになる。

これを実行してみると以下のように表示された。 prompt2

カレントのパスは長くて改行されているが、コマンド入力位置が常に同じ位置になっている。素晴らしい。

ただし、このpromptコマンドは現在のコマンドプロントしか有効じゃない。

なのでコマンドプロンプト開くたびに有効にする必要があるが、そのためにレジストリをイジる必要がある。

レジストリをイジる

コマンドプロンプトに関する設定は以下にある。

HKEY_CURRENT_USER\Software\Microsoft\Command Processor

ここにAutoRunという名前の文字列値を新規に作り、prompt文を登録する。

prompt3

ここで登録したコマンドがコマンドプロンプト起動時に実行されるので、毎回素敵なプロンプトで作業ができる。

プロンプトを元に戻す

デフォルトのプロンプトに戻すには特殊コードなしで実行するだけ。

prompt

元のウザい感じに戻る。