Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

コマンド・プロンプトで入力補完機能を使う方法

解説をスキップして操作方法を読む

デジタルアドバンテージ
2000/06/16
2004/02/07 更新
 
対象OS
Windows 2000
Windows XP
Windows Server 2003
コマンド・プロンプトで補完機能を利用すると、長くて複雑なファイル名やパス名(ディレクトリ名)でも簡単に入力することができる。
ファイル名の補完とパス名の補完をそれぞれ異なるキーに割り当てることができる。
補完機能で利用するキーの割り当ては、レジストリによって変更することができる。
 
解説

 グラフィカルなユーザー・インターフェイスを備えているWindows OSでも、場合によってはコマンド・プロンプト(実体はcmd.exe)を使って作業する機会は多いだろう。定型的なファイル操作やバッチ・ファイルを使った作業などでは、GUIより素早く、同じ作業の繰り返しなどが簡単にできるからだ。しかしコマンド・プロンプトは便利ではあるが、いちいちコマンド名やファイル名、ディレクトリ名などをすべて正確に入力するのは、わずらわしいばかりでなく、タイプミスの可能性も高いといえる。特に、最近では空白や特殊な記号類を含む長い名前や、漢字コードを含むような名前が使われることも多く、ますます正確で素早い入力が困難になっているからだ。

 このような場合に便利に利用できる機能が、ファイル名の「補完(completion)」機能である。ファイル名やディレクトリ名の先頭の何文字かを入力してから、補完機能のためのキー(例えば「[Control]+[D]」など)を入力すると、ファイル名の残りの部分を自動的に補って入力してくれる機能である。例えば、「Program Files」というディレクトリ名を入力しようとしている場合、先頭の「P」を押してから[Control]+[D]を押す。すると自動的に残りの部分が補完され、「"Program Files"」というふうに入力されるのである(空白を含む名前の場合は、自動的にダブルクォートで囲まれる)。もし「P」で始まるディレクトリ名がほかにあれば、[Control]+[D]を繰り返し押すだけで、それらの候補が次々と表示される。また、何も入力しない状態で[Control]+[D]を押すと、カレント・ディレクトリにあるディレクトリ名が自動的に表示されるし、[Shift]キーとともに押すと、これらの候補が逆順に表示される。

 Windows OSのコマンド・プロンプトでは、補完する対象として「1.ファイル名もしくはディレクトリ名」か、「2.ディレクトリ名のみ」かの2とおりがあり、それぞれに対して異なる補完用のキーを割り当てることができる。

 補完機能は、Windows 2000ではデフォルトでは無効になっているが、Windows XP/Windows Server 2003ではデフォルトでは有効になっている。いずれのOSでも、以下の方法を使って補完機能を有効にしたり、補完するキーをカスタマイズすることができる。

 補完機能を有効にするには、コマンド・プロンプトを起動するときにオプションとして指定する方法と、レジストリを使って指定する方法がある。前者は、簡単ではあるが、補完のために使用するキーをユーザーが変えることはできない。後者は、レジストリを操作しなければならないが、補完するためのキーを自由に決めることができる。


操作方法

方法1―コマンド・プロンプト起動時のオプションを使う方法

 Windows XPおよびWindows Server 2003では、デフォルトで補完機能が有効になっているので、この方法はWindows 2000でのみ意味を持つ方法である。

 Windows 2000では、コマンド・プロンプト(cmd.exe)の起動時に「/f:on」オプションを付けておくと、補完機能が有効になる(「/f:off」オプションを付けると強制的に無効にすることができる)。この補完機能は一度設定すればずっと使い続けるであろうから、コマンド・プロンプトを起動するメニューのプロパティで設定しておくと便利である。このためには、次のように設定する。

 まず[スタート]メニューの[プログラム]−[アクセサリ]にある[コマンド プロンプト]を右クリックして、ポップアップ・メニューから[プロパティ]を選択する。そこで表示されるダイアログ・ボックスで、「リンク先」のフィールド(「cmd.exe」へのパスが入っている)の最後に、「/f:on」を追加する。これにより、コマンド・プロンプトを起動すると、常に入力補完機能が有効になった状態で起動されることになる。

 この「/f:on」オプションを使用した場合、「ファイル名(またはディレクトリ名)の補完機能」のためのキーとしては[Control]+[F]が割り当てられ、「ディレクトリ名の補完機能」のためのキーとしては[Control]+[D]が割り当てられる。

/fオプションを付けてコマンド・プロンプトを起動する

補完機能を有効にしたければ、/fオプションを付けてコマンド・プロンプトを起動すればよい。ただし補完のためのキー設定をユーザーが変更することはできない。
  このオプションを付けてcmd.exeを起動する。メニューのショートカットを変更しておくと便利である。

方法2―レジストリにセットする方法

 この方法では、ファイル名とディレクトリ名の補完のためのキー(の文字コード)をユーザーが自由に設定することができるのが特徴である。さらに、全ユーザーに対して有効にするか、それとも個別のユーザーごとに設定を行うかどうかも選択できる。ただしレジストリを操作しなければならないため、危険性が高いので、注意していただきたい。

 この方法はWindows 2000だけでなく、Windows XPとWindows Server 2003に対しても有効である。Windows XPとWindows Server 2003ではデフォルトで補完機能が有効になっており、ファイル名もディレクトリ名も、いずれも[Tab]キーで補完できるようになっているが、別の制御文字を補完キーとして使いたければ、やはりこのような設定を行う必要がある。

 補完のための制御文字を設定するためのレジストリは、全部で4カ所ある。2つは全ユーザーで共通の設定として使われ、残り2つは各ユーザーごとの設定として使われる。デフォルトではこれらのキーが存在していない場合もあるが、そのときは、DWORD型の新しい値を作成して、値をセットする。

[注意]

レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリ エディタの操作は慎重に行うとともに、あくまで御自分のリスクで設定を行ってください。何らかの障害が発生した場合でも、本Windows Server Insider編集部では責任を負いかねます。ご了承ください。

 
全ユーザーで共通の設定のためのレジストリ

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor

補完する対象 値の名称 データ型
ファイル名補完 CompletionChar DWORD 制御文字コード
ディレクトリ名補完 PathCompletionChar DWORD 制御文字コード
全ユーザーに共通する補完キーの設定
 
ユーザーごとの設定のためのレジストリ

HKEY_CURRENT_USER\Software\Microsoft\Command Processor

補完する対象 値の名称 データ型
ファイル名補完 CompletionChar DWORD 制御文字コード
ディレクトリ名補完 PathCompletionChar DWORD 制御文字コード
ユーザーごとの補完キーの設定

 CompletionCharにはファイル名(とディレクトリ名)の補完をするためのキーの文字コードを、PathCompletionCharにはディレクトリ名(パス名)の補完をするためのキーの文字コードをそれぞれDWORD型でセットする(セットする値については次の表を参照)。HKEY_LOCAL_MACHINEとHKEY_CURRENT_USERの両方にセットした場合、HKEY_CURRENT_USER(各ユーザーごと)の設定が優先される。

補完キー 文字コード 補完キー 文字コード
Control-A 0x01 Control-P 0x10
Control-B 0x02 Control-Q 0x11
Control-D 0x04 Control-R 0x12
Control-E 0x05 Control-T 0x14
Control-F 0x06 Control-U 0x15
Control-G 0x07 Control-V 0x16
Control-H 0x08 Control-W 0x17
Control-I 0x09 Control-X 0x18
Tab 0x09 Control-Y 0x19
Control-K 0x0B Control-Z 0x1a
Control-L 0x0C Control-[ 0x1b
Control-N 0x0E Control-\ 0x1c
Control-O 0x0F Control-] 0x1d
補完のために使用できるキーの文字コード

 補完するために利用できるキーの文字コードとしては0x01〜0x1fが使えることになっているが、[Control]+[M]([Enter]キー)など、ほかの機能と重複するものがあるので、実際にはこれより少なくなっている。また、同じ文字コードを割り当てると常にファイル名とディレクトリ名の補完として機能する。例えば両方に0x09([Tab]キー)を割り当てておけば、[Tab]キーを押すだけでファイル名やディレクトリ名の補完が行える。一般的にはこのような設定でも十分だろう。End of Article

関連記事
  連載:コマンドライン徹底活用 第2回 コマンドプロンプト入門(その2)(Windows Server Insider)
     
更新履歴
【2000/07/28】(お詫びと訂正) 表「ユーザーごとの補完キーの設定」において、レジストリ キーの名前が「HKEY_LOCAL_MACHINE」となっていたのは、「HKEY_CURRENT_USER」の誤りでした。お詫びして訂正させていただきます。
【2004/02/07】Windows XPとWindows Server 2003に関する情報を追加して修正しました。
 
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間