Windowsのコマンドプロンプトをカスタマイズする

Sep 18, 2015   #Windows  #CMD  #Prompt  #CLI 

そもそもコマンドプロンプトって?

[WindowsKey]+[R] 押して “cmd” と入力して [Enter] すると起動するアレ。

(スタートボタンから「コマンドプロンプト」を探してクリックしても起動しますが…)

起動直後はこんな感じで表示されるハズ。

Microsoft Windows [Version 10.0.10240]
(c) 2015 Microsoft Corporation. All rights reserved.

C:\Users\rugger>

見辛いんだよね~

入力を促すプロンプトですが、デフォルトだと

[カレントディレクトリ]>

となっているので、 使っているとフォルダ階層が深くなった時に非常に見辛くなる。

例えば VisualStudio付属のMFCソースディレクトリに行くと(行くのか?

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\src\mfc>

とかなってしまい、そこでソースファイルを表示しようとすると(するのか?

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\src\mfc>type afxas
ert.cpp

といった形で入力中に改行されてしまい、かなりモニョる

はいそこ、「どーせコマンドなんてコピペするから気にならん…」とか言わない。

表示をカスタマイズする

実はこのプロンプト表示はカスタマイズできる。

おそらく、皆知っているが面倒だから設定などしないと思う。

だが私は、MS-DOSの頃からこのプロンプトをカスタマイズして使っている。

ちなみにこんな感じ

=> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\src\mfc
$ type afxasert.cpp

うん見易い。(よね?

カレントディレクトリの後ろに改行を入れて、 コマンド入力が左端に揃うようになっているだけなのだが、 個人的に凄く気に入っている。 ちなみに昔はエスケープシーケンスで色付けとかしていたが、 今は面倒なのでやっていないw

で、どうやるのか。

コマンドプロンプトからそのまま prompt というコマンドで設定する。

Windowsコマンド集:(prompt)

ちなみに、私と同じ表示を行う為には以下のようにすれば良い。

prompt $Q$g$S$p$_$$$S

でもこれだけだと、毎回コマンドプロンプトを開く度に実行しなければならない。 MS-DOSの頃は AUTOEXEC.BAT とかに書いておけば良かったものの、 32bit以降のWindowsでは存在しない。

そこで、レジストリの設定を行う。

レジストリの設定

ここからの変更は自己責任でお願いします。

コマンドプロンプトの各種設定は、

HKEY_CURRENT_USER\Software\Microsoft\Command Processor

というキーに保存されている。

[WidowsKey]+[R] から “regedit” [Enter] とするとレジストリエディタが起動するので、 このキーの “AutoRun” という名前の文字列パラメータを開き(無ければ新規で作る)、 値として “prompt […]” といった文字列を設定する。

これで、コマンドプロンプトを起動する度にこのコマンドが実行され、表示が適用される。

regファイル作っちゃえば?

仕事でPCを使っていると、結構頻繁にマシンが入れ替わる。

その度にこんな設定を行うのは面倒くさい。

ということで、reg ファイルを作成する。

レジストリの詳細は Command Processor を確認してもらうとして、普段私が利用している reg ファイルを紹介する。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor]
"AutoRun"="prompt $Q$g$S$p$_$$$S"
"CompletionChar"=dword:00000009
"DefaultColor"=dword:00000000
"EnableExtensions"=dword:00000001
"PathCompletionChar"=dword:00000009

注意点としては、 このファイルは文字コードUTF-16で保存しなければならないということ。

一番簡単なのは「メモ帳」で「名前を付けて保存」から 「文字コード」を “Unicode” として保存する。これでok。

逆にレジストリエディタの該当キーを右クリックして「エクスポート」し、 そのファイルをメモ帳で編集する方が確実かも。いずれかお好きな方法で。

こんなファイルをcmd.regとかいうファイル名で保存しておけば、 このファイルをエクスプローラからダブルクリックするだけで設定が可能になる。

では、みなさん素敵なCLIライフを♪