コマンドプロンプトはCUI派にとって欠かせない存在である。Windows 3.xや9x時代はOSを起動するためのシェルとして稼働していたが、Windows NT系列は基礎設計が大きく異なるため、当初からコマンドラインインタプリタ(入力内容を取得し、OSなどに渡すアプリケーション)を実装していた。その系列に類するWindows 2000以降、Windowsファミリーにおけるコマンドプロンプトはさまざまなコマンドラインツールを活用する重要な基盤なのである。

だが、コマンドプロンプトはWindows NT時代の設計を引きずっていることから、必要最小限の機能しか持ち合わせていなかった。そのためMicrosoftは、開発コード名「Monad」の名称でWindows PowerShellの開発を2003年にスタート。ファーストリリースは2006年のため、Windows XPなどで使った経験のある方も少なくないだろう。本来PowerShellはコマンドプロンプトに置き換わる存在だが、リリースから8年経った現在でも、広く浸透しているとは言い難い。その結果、Windows 10テクニカルプレビューでは、コマンドプロンプトにいくつかの強化を加えている。

Windows 10テクニカルプレビューのPowerShell。バージョンを確認すると5.0に上がっていた(Windows 8.1はバージョン4.0)

<Experimental>タブの項目をチェック

コマンドプロンプトのプロパティダイアログを開くと、そこには見慣れない<Experimental>タブが現れる。文字どおり実験的な機能を寄せ集めたものだ。ちなみに<Options>など他のタブに変化は加わっていない。初期状態で<Enable experimental console features>のチェックは外れているため、そのままコマンドプロンプトを使っても新機能に気付くことはないだろう。

Windows 10テクニカルプレビューのコマンドプロンプトを起動し、プロパティダイアログを開くと、<Experimental>タブが現れる

同項目にチェックを入れると、「Experimental Console Settings」セクションに並ぶ各項目の有無が選択可能になる。なお、同セクション内にあるリンク「Experimental Console features」は無効だが、こちらは今後のプレビューや更新で用意するのだろう。ちなみに前述した項目の有無を変更した場合、コマンドプロンプトの再起動が必要だが、以下に説明する項目はリアルタイムに反映する。それでは各項目を有効にした状態を解説していこう。

まず<Enable line wrapping selection>は読んで字のごとく、"行の折り返し選択を有効にする"というものだ。<QuickEdit Mode(簡易編集モード)>が有効な場合、コマンドプロンプト内をドラッグすると、そのまま四辺形を維持しながらテキストを選択する矩形選択形式となるが、<Enable line wrapping selection>が有効な場合は行単位の選択形式となる。

<Enable line wrapping selection>がオフ(初期状態)の場合、テキスト選択は矩形選択形式となる

同項目がオンの場合、行単位でテキストを選択して折り返しも処理する

コマンドプロンプトの出力結果をテキストエディターなどにコピー&ペーストする際、以前はペースト結果を修正する必要があった。だが、本設定項目が加わることでユーザーの期待どおりにテキストのコピー&ペーストが可能になるだろう。

<Filter clipboard contents on paste>は、テキストエディターなどからコマンドプロンプトへ"ペーストする際にタブを除外する"という機能だ。本来コマンドプロンプト上ではタブコードを入力できず、[Tab]キーも入力補完機能に割り当てられている。たとえばWindows 8.1でタブを含んだ文字列をペーストすると、入力が無効であることを示す警告音を発するが(警告音を「なし」にしている場合、ウィンドウが1回フラッシュする)、本項目が有効な場合は邪魔なアクションが起きなくなるというものだ。

<Filter clipboard contents on paste>をオンにすると、タブを含んだ文字列をコマンドプロンプトにペーストしても警告音を発しなくなる

<Wrap text output on resize>は、"ウィンドウサイズに応じてテキスト出力を折り返す"という設定項目である。一見すると地味な機能に見えるが、多くのコマンドラインインタプリタは出力した結果は変更されず(もちろん例外もある)、出力内容に応じてパイプ処理などを用いた加工を行うのが一般的だった。しかし、本項目を有効にすると既に出力した結果もウィンドウサイズに合わせて折り返すため、場面によってはかなり便利な使い方を見いだせそうだ。

<Wrap text output on resize>がオフ(初期状態)の場合、ウィンドウサイズを変更しても出力内容は変わらない

同項目がオンの場合、出力済みの内容もウィンドウサイズに応じて折り返す。横スクロールバーが消えているのも注目ポイントの1つだ

<Enable new Ctrl key shortcuts>は今回紹介するなかで、唯一有効になっている(もちろん<Enable experimental console features>の既定値はチェックオフのため動作しない)。こちらは"[Ctrl]キーを使った新しいショートカットキー"を有効にする設定項目だ。たとえば本項目が無効な場合、[Ctrl]+[A]キーはそのまま「^A」が入力される。だが、本項目を有効にすると、一般的なショートカットキーで用いられる「すべて選択」に置き換わるというものだ。

<Enable new Ctrl key shortcuts>がオフの場合、[Ctrl]+[A]キーを押しても「^A」が入力されるだけだった

<Enable experimental console features>を有効にした時点で同じショートカットキーを使うと、"すべて選択"が使用できる

冒頭で述べたとおりコマンドプロンプトはDOS時代の流れをくんでいるため、ショートカットキー1つとってもWindowsと異なる点が多いが、<Enable new Ctrl key shortcuts>はその差異を埋める興味深い機能と言えるだろう。その他のショートカットキーについては下図にまとめたので、既にWindows 10テクニカルプレビューで作業を行っている方は参考にしてほしい。

Windows 10テクニカルプレビューのコマンドプロンプトで使用可能なショートカットキー

<Extended edit keys>は残念ながら動作不明の機能である。ただし項目名から察するに、Windows 2000リソースキットツールに含んでいた「CustCon」を連想するのは筆者だけだろうか。もちろん公式発表を待つ必要があるが、コマンドプロンプトのキー操作を拡張するための機能であることは確実だろう。

Windows 2000上のCustCon。基本的なショートカットキーに対して、各種機能を割り当てることが可能だった

<Trim leading zeros on selection>は、"選択時に先頭のゼロを取り除く"という設定項目である。たとえば「0000001234」といった数値がプロンプトにある場合、「0」の部分をダブルクリックすると「1234」の部分のみ選択するというものだが、発動条件が不明だった。下図にあるとおり"先頭に文字列や空白がある場合"は動作するが、"プロンプト直後から数値が始まる場合"は動作しないのである。これが仕様なのか文字列取得後の判断ルーチンに問題があるのか分からないが、ユーザビリティの観点から見れば有用な機能になりそうだ。

<Trim leading zeros on selection>をオンにすると、「0」の部分をダブルクリックするとそれ以外の数値を選択する

プロンプト直後から数値が始まる場合、「0」をダブルクリックしても自動選択は動作しなかった

最後の「Opacity」は文字どおり"不透明度"の設定で、スライダーを左右に動かすことで30パーセントから100パーセントまでの不透明度を選択できる。既に多くのコマンドインタプリタや端末エミュレーターが搭載している機能のため、目新しさはないものの、標準搭載したのは素直に評価していいだろう。

「Opacity」を30パーセントまで下げた状態

今回コマンドプロンプトに触れていて、これら設定項目による動作の差異以外にも、いくつかのショートカットキーが見つかった。たとえば[Shift]+[←]キーを押すと、カーソルの位置を基準に選択範囲を左方向に1文字分広げ、[Shift]+[↑]キーならカーソルの位置から上の行に選択範囲を広げるといった具合である。これらの動作は<Enable new Ctrl key shortcuts>をオフにし、コマンドプロンプトを再起動しても確認できた。

Windows 10テクニカルプレビューからRTM(Release To Manufacturing version)に至るまで仕様変更が加わる可能性が大きいため、今回は一覧表の作成を見送るが、Windows 10におけるコマンドプロンプトは、CUI派にとって確実に大きな存在になるだろう。

阿久津良和(Cactus)

■前回の記事はこちら
・短期集中連載「Windows 10」テクニカルプレビューを試す(第5回) - 作業効率を向上させる「仮想デスクトップ」
http://news.mynavi.jp/articles/2014/10/09/windows10/