コマンドプロンプトのファイル名補完機能を有効にする方法

| | コメント(5) | トラックバック(0)

WindowsXPのコマンドプロンプトでタブキーを押すとファイル名補完が行われるのは知ってたけど、ワイルドカードが使えるのは知りませんでした。

● タブキーでファイル名補完

C\> r[TAB]
↓
C\> READ1ST.TXT    [TAB]を押すと
C\> README.DOC    もう一回[TAB]を押すと

● ワイルドカードを使う

C\> r*.doc[TAB]
↓
C\> README.DOC    「R」で始まり、拡張子「doc」が表示される

Windows2000でこの機能を使う方法

ちなみに、Windows2000でこの機能をオンにするには、レジストリをいじる必要があります。

キー名 : HKEY_CURRENT_USER\Software\Microsoft\Command Processor
値の名前 : CompletionChar
値のデータ : 「0」→「9」に変更

(2006/03/11 追記 ここから)
現在ログインしてるユーザだけではなく、マシン全体に適用する場合。
多分、上記「HKEY_CURRENT_USER」の方が優先されます。

キー名 : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
値の名前 : CompletionChar
値のデータ : 「0」→「9」に変更

また、補完する時にファイルとフォルダの両方ではなく、フォルダだけを補完したい場合、値の名前は「PathCompletionChar」を使用するようです。
つまり、

キー名 : HKEY_CURRENT_USER\Software\Microsoft\Command Processor
値の名前 : PathCompletionChar
値のデータ : 「0」→「9」に変更
キー名 : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
値の名前 : PathCompletionChar
値のデータ : 「0」→「9」に変更

ここで、「CompletionChar」と「PathCompletionChar」を同じ値にしてしまうと、どっちを優先するんでしょう?(やってない)

私は「窓の手」で、コンテキストメニューから「コマンドプロンプト」メニューが表示されるようにしています。
(「右クリックメニュー」タブ>「任意のフォルダーからコマンドプロンプトを可能にする」にチェック)

だけど、Windows2000でレジストリをいじっても、このコンテキストメニューから起動したコマンドプロンプトには反映されないっぽい。
(2006/03/11 追記 ここまで)

この「9」という数字の意味はHT(水平タブ)だったと思った。
別の数字にすると別のキーを補完キーに割り当てられるのかな?

「/F:ON」オプション (2006/03/11 追記)

コマンドプロンプトを起動する時、「/F:ON」オプションをつけて起動すると、Ctrl+Fでディレクトリとファイルの両方を補完します。
また、Ctrl+Dでディレクトリのみ補完します。

こんな感じ↓

C:\> ^F           ←Ctrl+Fを押すと普通はこうなる
C:\> cmd.exe /F:ON
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
 
C:\> AUTOEXEC.BAT   ←Ctrl+Fを押すと補完される

この機能を使いたい場合は、コマンドプロンプトを起動するショートカットを変更しておけば、常に使えてよさげ。

コマンドプロンプトのプロパティ

ちなみに、Ctrl+D は 0x4、Ctrl+F は 0x6なので、参考まで。(上記レジストリをいじる場合に使えるはず)

リンク

・デジタルARENA / コマンドプロンプト上でワイルドカードを使いこなす
http://arena.nikkeibp.co.jp/tec/20040414/108412/

トラックバック(0)

このブログ記事を参照しているブログ一覧: コマンドプロンプトのファイル名補完機能を有効にする方法

このブログ記事に対するトラックバックURL: http://kinshachi.ddo.jp/mt/mt-tb.cgi/263

コメント(5)

ek :

こんばんは。ek と申します。

Windows コマンドプロンプトの「ワイルドカード補完」って、あまり使えない気がしませんか?補完機能自体は重宝しています。周囲の方は不満足らしいのですが、私には十分です。細部の動作に好き好きはあると思いますが、補完「できる」だけでも「できない」よりはずっと良いですよね!

ike さんがお書きになっているように CompletionChar は好きな制御コードを入れて構わなかったと思います。

コマンドプロンプトで入力補完機能を使う方法 [@IT]
http://www.atmarkit.co.jp/fwin2k/win2ktips/072cmdcompletion/cmdprompt.html

ではでは、また面白いエントリーを楽しみにしています(^^)

ike :

こんにちは。

そうかもしれませんね。
あと、候補一覧が出て欲しいと思う事はあります。

時と場合によるのかもしれませんが、大文字小文字を区別しないのが好きです。(ファイル名を大文字にしたか小文字にしたか覚えてないので)

>コマンドプロンプトで入力補完機能を使う方法 [@IT]
>http://www.atmarkit.co.jp/fwin2k/win2ktips/072cmdcompletion/cmdprompt.html
なるほど、レジストリをいじらずに、「cmd.exe」に「/f.on (/f.off)」オプションを付ける方法もあったんですね。

今いじってて気づいたんですが、

dir re*st.*

っていう表記も受け付けるようになったんですね。(Windows 2000)
むかーしは、(「read*.doc」の様に拡張子で区切って使う事はできたけど) 「*」を検索ファイル名の間に置くことって出来なかったような。

ek :

> むかーしは、(「read*.doc」の様に拡張子で区切って使う事はできたけど) 「*」を検索ファイル名の間に置くことって出来なかったような。

そこまで細かいことは覚えていない、、、とゆーより試していません(てへ)。凡人な私からすると、何よりも ike さんの、次々と話題を見つけてくる才能が一番スゴイように感じています(^^)

じろう :

tabキーで補完というより、ワイルドカード展開して、コマンド実行を繰り返す機能の方が使い勝手がいい。
それが標準で付いてないんだ。

ike :

じろうさん。
「ワイルドカード展開して、コマンド実行を繰り返す機能」って具体的にどんな感じでしょう?
実装している他のOSってあります?

ちなみに、FOR 〜 IN (〜) DO 〜文とも違うんですよね?
(参) C:\> FOR /?

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、ikeが2004年4月16日 10:53に書いたブログ記事です。

ひとつ前のブログ記事は「EVENTTRIGGERS」です。

次のブログ記事は「Eclipse Plugin for OJB」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近のコメント

On コマンドプロンプトのファイル名補完機能を有効にする方法
  • ike: じろうさん。 「ワイルドカード展開して、
  • じろう: tabキーで補完というより、ワイルドカー
  • ek: > むかーしは、(「read*.doc」
  • ike: こんにちは。 そうかもしれませんね。
  • ek: こんばんは。ek と申します。 Win
Powered by Movable Type 4.261