検索
連載

【まとめ】Windows 10で強化/追加されたコマンドプロンプトの機能Tech TIPS

まだまだ使われているWindowsのコマンドプロンプト。Windows 10ではどれくらい便利になったのか? 新機能や強化された機能をまとめる。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
Tech TIPS
Windows Server Insider


「Tech TIPS」のインデックス

連載目次

対象OS:Windows 10


解説

 Windows 10では「コマンドプロンプト(cmd.exe)」の機能が強化され、特にテキストのコピーや貼り付けなどが簡単にできるようになっている(関連記事参照)。いまさらコマンドプロンプトを強化するのは、やはりCUIに対する根強い需要があるからだろう。GUIでは面倒な操作も、CUIのコマンドプロンプトなら簡単にできることは今でも少なくないからだ。

強化されたWindows 10のコマンドプロンプト
強化されたWindows 10のコマンドプロンプト
コマンドプロンプトのことなど、もうすっかり忘れ去られているのかと思ったが、Windows 10ではコマンドプロンプトの機能がいくらか強化されている。行モードでの選択機能が(やっと)できるようになった。

 本TIPSでは、Windows 10のコマンドプロンプトにおける強化点をまとめておく。コマンドプロンプトの基本的な機能や使い方については以下の記事を参照していただきたい。

 以下、順に拡張点を見ていこう。拡張された機能は、主にコマンドプロンプトのオプション設定画面で確認できる。

 各機能の詳細や、それらを制御するレジストリ設定などについては、以下のページも参照のこと。

●デフォルトバッファーサイズの拡大

 コマンドプロンプトのデフォルトバッファーサイズは、以前は80文字×300行だったので、そのままだと最大でも300行分しかスクリールバックできなかった。これでは不足することが多いので、あらかじめ手動でバッファーサイズを拡大してから使うことが多かった。

 これに対してWindows 10ではデフォルトのバッファーサイズが120文字×9001行にまで拡大されているので、バッファーサイズをいちいち変更する必要性は少なくなっている(最大では9999文字×9999行まで拡大可能)。

コマンドプロンプトのバッファーサイズオプション
コマンドプロンプトのバッファーサイズオプション
以前はデフォルトでは300行しかスクロールバックできなかったので、長いコンソール出力だと途中で途切れてしまっていた。そのため、最初に9999行に設定し直すといった操作が必要であった。Windows 10ではデフォルトサイズが増えているので、このような設定をしなくても済む。
  (1)バッファーサイズを変更するにはこのタブを選択する。
  (2)コンソールバッファーの幅(内部的な桁数)の指定。(4)がオンだと、この値は(5)に自動的に連動するので、ユーザーは変更できない。
  (3)コンソールバッファーに保存される最大行数。以前のデフォルト値は300行だった。Windows 10では9001行になっている。最大で9999行まで拡大できる。
  (4)Windows 10での新オプション。これがオンだと、長い行はウィンドウの右端で折り返し表示され、コンソールバッファーの幅とコンソールウィンドウの幅は常に一致するようになる。オフにすると、長い行を表示するには横スクロールする必要がある。詳細は後述する。
  (5)コマンドプロンプトのウィンドウの幅(表示桁数)。デフォルトでは120桁。最大では9999桁まで拡大できる。
  (6)コマンドプロンプトのウィンドウの高さ(表示行数)。デフォルトでは30行。最大では9999行まで拡大できる。

■自動的なラップアラウンド表示
 上の画面にある[サイズ変更時にテキスト出力を折り返す]((4))をオンにしておくと(デフォルトではオン)、コマンドプロンプトのウィンドウの幅をマウスでドラッグするなどして変更した場合に、内容が自動的にラップアラウンドして(折り返して)再表示される。メモ帳で「右端で折り返す」をオンにした場合と同様に、常にウィンドウの右端で折り返し表示される。

 以前のコマンドプロンプトでは、コンソールの論理幅((2))と物理幅((5))が異なる場合は横スクロールする必要があった。一方、このオプションがオンだと、常に2つが一致するように制御される。

●新機能の設定オプション

 上記以外の新機能の多くは、設定画面の[オプション]タブで設定、確認できる。

コマンドプロンプトのオプション設定画面
コマンドプロンプトのオプション設定画面
コマンドプロンプトで追加された新機能は、互換性のために、手動で全て無効にすることもできる。
  (1)[オプション]タブを選択する。
  (2)これは以前からあったオプション。これがオンだと、マウスでドラッグして範囲を選択したり、貼り付けたりできる。
  (3)これも以前からあったオプション。入力した文字が自動的に現在のカーソル位置に挿入されるようになる。オフだと上書きモードになる。
  (4)ここから下がWindows 10での新機能に対するオプション設定。このオプションがオンだと、さまざまなショートカットキーが利用できる(詳細は後述)。
  (5)貼り付けるときにいくつかの文字が特別な処理を受ける(詳細は後述)。
  (6)論理的な「行」を意識したコピーができるようになる(詳細は後述)。
  (7)入力中のコマンドラインの編集でも文字の選択やコピー、貼り付けなどができるようになる(詳細は後述)。
  (8)Windows 10のコマンドプロンプトでも、利用できる文字コードはANSI(英語モード)かShift-JIS(日本語モード)のみ。UTF-8などは特にサポートされていない。コードページの設定を変更するには、コマンドプロンプトの[規定値]メニューを開く。
  (9)これをオンにすると、全ての新機能が無効化され、従来と同じようになる。設定変更後は、コマンドプロンプトをいったん終了してからまた起動すること。
  (10)これをクリックすると、コンソールの新機能を解説する、前述のTechNetサイト(「What's New in the Windows Console in Windows Server 2016 Technical Preview」)が表示される。

 以下、オプションごとにそれぞれの拡張機能を説明しておく。

●[Ctrlキーショートカットを有効にする]オプション

 「Ctrlキーショーットカット」とは、テキストの選択やコピーなどを[Ctrl]キーを使ったショートカット操作で行うための機能だ。メモ帳などのテキストエディターでは、キーボードショートカットだけでテキストを選択したり、コピーや貼り付けなどをしたりできる。だが従来のコマンドプロンプトでは簡単にできなかった。それを可能にするのがこの新しい「Ctrlキーショートカット」機能である。

 この機能が有効になっていると、次のようなキーボードショートカットが使えるようになる。

■スクロールや特殊な操作のためのショートカットキー

キー 機能
[Ctrl]+[↑][↓] コンソール画面を1行分スクロールアップ/スクロールダウンさせる
[Ctrl]+[Home]/[End] コンソール画面の先頭や最後へスクロールさせる
[Ctrl]+[F] 検索モードを起動する
[Ctrl]+[Shift]+[+][−] コンソールの透明度を増減させる
スクロールや特殊な操作のためのショートカットキー

■選択モードのショートカットキー

 現在入力中の行以外のテキストをコピーするなら、最初に「選択モード」にしてからコピーの開始場所へカーソルを移動し、そこから[Shift]キーを押しながら範囲を選択する。このモードでは次のようなショートカットキーを利用してコピーする範囲を選択できる。

キー 機能
[Ctrl]+[M] 選択モードの開始。コマンドプロンプトの[編集]−[範囲指定]でも同じ
[←]/[→]/[↑]/[↓]/[Page Up]/[Page Down]/[Home]/[End] カーソルを文字単位やページ単位で移動させる。[Home]yや[End]では行頭や行末で移動できる。開始場所が決まったら[Shift]キーを押しながら移動させ、範囲を選択する
[Shift]+[←]/[→] 選択範囲を1文字ずつ左右へ広げる
[Shift]+[↑]/[↓] 選択範囲を1行分ずつ上下へ広げる
[Shift]+[Page Up]/[Page Down] 選択範囲を1ページ分ずつ上下へ広げる
[Shift]+[Home]/[End] 画面の左端もしくは右端まで選択する
[Alt]+[Shift]+〜 [Shift]と[Alt]キーを押しながらカーソルを移動させると、行モードではなく、ブロックモードで範囲が選択される
[Ctrl]+[A] コンソール全体が選択される
[Enter]か[Ctrl]+[Insert] 範囲を選択している状態でこのキーを押すと、選択範囲がコピーされ、選択モードが終了する
[Ctrl]+[C] 範囲を選択している状態でこのキーを押すと、選択範囲がコピーされ、選択モードが終了し、さらにBreakが送信される
[Ctrl]+[V] クリップボードから入力領域へテキストを貼り付ける
[Shift]+[Insert] [Ctrl]+[V]と同じ
選択モードのショートカットキー(主要なもののみ)

●[貼り付け時にクリップボードの内容をフィルターする]オプション

 これがオンになっていると、クリップボードからテキストが貼り付けられる際、次のように、一部の文字がフィルターされる。

  • Tab文字の削除――[Tab]文字は削除される
  • 引用符の処理――対になっている引用符が、一番シンプルな引用符(ASCIIコードの0x22)に置き換えられる。例:「“文字”」→「"文字"」のようになる

 これにより、コマンドとしては利用できないような文字が貼り付けられるのを防ぐ。

●[行の折り返し選択を有効にする]オプション

 このオプションがオンになっていると、論理的な「行」を意識したコピーや貼り付け、ウィンドウ幅変更時の自動的な折り返し表示などが可能になる。

 以前のコマンドプロンプトでは、テキストの範囲は四角い形状(ブロック形状)でしか選択できなかった。ブロック形状でコピーすると、たとえ画面右端まで選択したとしても、複数の行に分かれたテキストデータになってしまい、後処理が面倒であった。

 だがこのオプションがオンになっていると、一般的なテキストエディターのように、行単位でテキストがコピーされる。もともとつながって出力されていたテキストデータは、1行のテキストデータとしてクリップボードにコピーされるので、扱いやすくなった。

行の折り返し選択が有効と無効の場合のコピー
行の折り返し選択が有効と無効の場合のコピー
これは2種類の方法でメモ帳にコピーしたところ。
  (1)行の折り返し選択が有効な場合の選択領域。普通のテキストエディターのように、論理的な行に基づいてテキストが選択される。
  (2)行の折り返し選択を有効にしてコピーしたテキストをメモ帳に貼り付けたところ。物理的には4行でも、論理的には2行になっている。
  (3)行の折り返し選択が無効な場合の選択領域。以前のコマンドプロンプトのように、ブロック形状で選択されている。
  (4)行の折り返し選択を無効にしてコピーしたテキストをメモ帳に貼り付けたところ。短い3行の文に分かれている。

 [行の折り返し選択を有効にする]オプションはデフォルトでオンになっている。これをオフにすると従来と同じようにブロック形状でコピーされる。オンのままでも、[Alt]キーを押しながら領域を選択すると強制的にブロック形状にしてコピーできる。

●[テキスト選択キーを拡張する]オプション

 オプション設定画面で[テキスト選択キーを拡張する]が有効になっていると、現在入力中のコマンド行に対して次のようなショートカットキーが利用できるようになる。入力中のコマンドラインでは、以前はコマンドヒストリーの参照ぐらいしかできなかったが、この機能がオンだとテキストの選択や貼り付けなどが可能になる(貼り付けに使うキーは先の表「選択モードのショートカットキー」と同じなので省略)。

キー 機能
[↑][↓][F7][Page Up][Page Down]など これはコマンド履歴から過去のコマンドを呼び出す。従来のコマンドプロンプトでも利用可能。詳細は本記事冒頭のTIPS記事参照
[Shift]+[←]/[→] 1文字ずつ選択範囲を広げる
[Ctrl]+[Shift]+[←]/[→] 1単語ずつ選択範囲を広げる
[Shift]+[Home]/[End] 入力領域の先頭もしくは最後まで選択範囲を広げる。2回押すと画面左端もしくは右端まで選択範囲を広げる
[Shift]+[↑]/[↓] 1行上もしくは1行下まで選択範囲を広げる
[Shift]+[Page Up]/[Page Down] 1ページ上もしくは1ページ下まで選択範囲を広げる
[Ctrl]+[A] 入力中の行全体を選択する。入力が空の場合はコンソール全体が選択される
[Enter]か[Ctrl]+[C] 範囲を選択している状態でこのキーを押すと、選択範囲がコピーされ、選択モードが終了する
コマンド編集中のショートカットキー(主要なもののみ)

●[コンソールの不透明度]オプション

 「コンソールの不透明度」とは、コマンドプロンプトウィンドウを透明表示させて、背景が見えるようにする機能である。いまひとつ使い道がはっきりしない機能だが、他のアプリケーションの上にコマンドプロンプトをオーバーレイ表示させるといった用途に使えるだろう。例えば他のアプリケーションを実行させながら、tailコマンドでログの状態をリアルタイムに監視する、pingでネットワークの状態を監視する、といった使い方が考えられる。

不透明度の設定
不透明度の設定
コマンドプロンプトの不透明度は、設定画面の[画面の色]タブで設定する。
  (1)このタブを選択する。
  (2)ここで不透明度を設定する。

 実際の表示例を次に示す。

不透明度の設定を下げたコマンドプロンプトの例
不透明度の設定を下げたコマンドプロンプトの例
これは一番透明にした状態のコマンドプロンプト。背景画像やアイコンが透けて見える。
  (1)不透明度を一番下げた状態のコマンドプロンプト。

 コマンドプロンプトの不透明度は、ショートカットキーやマウスのホイールでも操作できる。

キー 機能
[Ctrl]+[Shift]+[+]/[−] コンソールの透明度を増減させる([Ctrlキーショートカットを有効にする]オプションがオンの場合のみ)。
[Ctrl]+[Shift]+マウスホイールの回転 コンソールの透明度を増減させる(常時利用可能)
不透明度の変更のためのショートカットキー

●全画面モードのサポート

 Windows 10のコマンドプロンプトでは、[Alt]+[Enter]キーを押すと全画面表示モードに切り替わる。このモードにすると、画面の幅や高さも変更されて、全画面いっぱいにコマンドプロンプトのウィンドウが表示される。タイトルバーも表示されず、Windows 10のタスクバー表示も隠れ、真っ黒なコンソール画面になる(縦のスクロールバーだけは表示されるが)。

 コマンドプロンプトウィンドウの最大化(タイトルバー右上の[□]ボタン)表示では、画面幅はそのままで高さのみが変更される。一方、全画面モードでは幅も変更され、タイトルバーも表示されなくなる点が異なる。

キー 機能
[Alt]+[Enter] コマンドプロンプトの全画面モードと通常モードを切り替える
全画面モードの切り替えのためのショートカットキー

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

ページトップに戻る