2015/04/15

Windows コマンドプロンプトをポータブルな Console に変更

[BAT][Windows][PC]
追記(2015/6/7):その後ConsoleからConEmuに乗り換えました。詳細は下記です。
 » http://kenpg.bitbucket.org/blog/201506/07.html

最近 Windows でコマンドプロンプトを開く機会が、前より増えました。ポータブルアプリの起動バッチファイル、Python スクリプトのテスト、昨日の ffmpeg のようなコマンドラインツールの使用など。例の黒い画面をしょっちゅう見るのは辛く、設定で色など変えても他の PC では同じ。もっと抜本的な方法を探したところ、ポータブル & カスタマイズ性の高い Console が良さそうです。

以下 Windows 7 32bit で試した様子。タブ、メニューバー、ツールバーもありますが、とりあえず最もシンプルな外観にしてみました。↓


↓ プロジェクトのページ。現バージョンは 2 で、そのためか Console2 と紹介されることも多いようです。

■ sourceforge - Console
Console is a Windows console window enhancement. Console features include: multiple tabs, text editor-like text selection, different background types, alpha and color-key transparency, configurable font, different window styles


上記ページから Console-2.00b148-Beta_32bit.zip をダウンロードし ↓ 中のフォルダごと好きな場所に解凍して、すぐ使えます。


Console.exe を起動して GUI で各種設定を行えます。設定内容は同じフォルダ内の console.xml に保存されるので、これを直接 ↓ のように書き換え。元はもっと多くの行・属性がありましたが、XML にないものはデフォルトの値が使われるようで、下記だけの短い XML でも動きました。フォント名に日本語を使う場合 UTF-8 で保存します。

■ console.xml
<?xml version="1.0"?>
<settings>
<console change_refresh="10" refresh="100" rows="25" columns="80"
buffer_rows="500" />
<appearance>
<position x="70" y="5" />
<font name="MS ゴシック" size="8">
<color use="1" r="0" g="0" b="0" />
</font>
<controls show_menu="0" show_toolbar="0" show_statusbar="0"
show_tabs="1" hide_single_tab="1" />
<styles inside_border="5" />
</appearance>
<tabs>
<tab>
<background r="255" g="255" b="255" />
</tab>
</tabs>
</settings>


特に良いのは、外枠と中の間隔・色を設定できるので ↓ この色を背景(デフォルトは白)と同じにすることで、外枠と文字の間を適度に空けられます。


外枠と文字の間の幅は XML の <appearance> → <styles> → inside_border 属性で、色は少し違う場所の <tabs> → <tab> → <background> で指定します。GUI での設定方法は sourceforge でのやりとり Inner border bolor is always black を参照。

カスタマイズした XML とともにファイル一式を持ち運べば、同じコンソール環境をポータブルに使えます。次に行うのは、普段使う PC(レジストリを変更できる前提)で、バッチファイル実行時に Console が立ち上がるための設定。レジストリエディタで HKEY_CLASSES_ROOT\.bat を見ると ↓ batfile という種類に設定されているので、その属性を変更します。


HKEY_CLASSES_ROOT\batfile\shell\open\command の値が、バッチファイル実行時に呼ばれるコマンド。これを console から cmd.exe を起動するように変更します。↓ は一例。Console.exe の -r オプションでコマンドを渡せるので、それを "cmd /c \"%1\" %*" として cmd.exe にバッチファイルを実行させます。二重引用符が入れ子になるので、内側をバックスラッシュでエスケープ。


CMD ファイルも同様にしたければ、HKEY_CLASSES_ROOT\.cmd を .bat と同じに。最後に、Win + R(ファイル名を指定して実行)から簡単に Console を使えるよう、Console.exe へのショートカットを cons など適当な短い名で作り、C:/Windows などパスが通っている場所に置きます。

とりあえず以上でコマンドプロンプトの置き替え完了。追加で何か設定したら、別途記事にします。
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。