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

エクスプローラでカレント・フォルダを選択してコマンド・プロンプトを開く

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

デジタルアドバンテージ
2003/08/23
 
対象OS
Windows 2000
Windows XP
Windows Server 2003
管理者にとってコマンド・プロンプトは便利な存在だが、深いディレクトリ階層を間違いなくキーボードからタイプするのは面倒だ。
レジストリを修正すれば、エクスプローラのGUIを使ってディレクトリを選択し、それをカレント・ディレクトリとしてコマンド・プロンプトを起動することができる。
 
解説

 オプションや操作対象を手早くキーボードから入力できたり、バッチやWSH(Windows Scripting Host)などのスクリプトを使って繰り返し処理を簡単に実行できたりすることから、管理者にとってコマンド・プロンプトは手放せない存在だ。最新OSであるWindows Server 2003では、管理者向けのコマンドライン・ツールが大幅に強化されたことも、この事実を裏付けていると考えてよいだろう。

 一般にコマンド・プロンプトでは、実行したいコマンドが存在するディレクトリ(フォルダ)や、コマンドで操作したいファイルが存在するディレクトリにカレント・ディレクトリを移動して処理を実行することが多い。しかし、Long Filenameが利用可能になったことや、ハードディスクの大容量化とともにディレクトリ階層がどんどん深くなったことなどから、ディレクトリ指定に必要な文字列はどんどん長くなっている。正直なところ、これらを間違いなくキーボードからタイプするのは現実的ではない。

 こんなとき、エクスプローラのGUIを利用してディレクトリ(フォルダ)階層を走査し、目的のディレクトリをマウスで選択して、そのディレクトリをカレント・ディレクトリとしてコマンド・プロンプトを起動できれば便利である。

 レジストリを編集することでこれが可能になる。


操作方法

エクスプローラにショートカット・メニューを追加する

 具体的には、エクスプローラでディレクトリ(フォルダ)を選択し、マウスを右クリックしたときに表示されるショートカット・メニューに項目を1つ追加して、これを実行することで、選択しているディレクトリをカレント・ディレクトリとしてコマンド・プロンプトを起動するようにする。

[注意]

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

 レジストリ・エディタを起動する(“regedit.exe”を起動する)。次に以下のキーを選択し、そこに“OpenNew”というキーを追加する(“shell”キーを右クリックし、表示されるショートカット・メニューの[新規]−[キー]を実行する)。

HKEY_CLASSES_ROOT\Directory\shell

 追加したOpenNewキーの値としてショートカット・メニューに追加したい項目の名前(文字列)を指定する。例えばここでは、「このフォルダでcmdを開く」としてみた。

 次に、いま追加したOpenNewキーにさらに“Command”という名前のサブ・キーを追加する。

 そしてこのCommandキーの値として次の文字列を指定する。cmd.exe(コマンド・プロンプト)を起動し、cdコマンドによってカレント・ディレクトリを移動している(%Lは、Long Filenameを使用するという指定)。

cmd.exe /k "cd %L"

 以上で作業は完了である。エクスプローラを起動し、ツリー表示から適当なディレクトリを選択してマウスを右クリックする。レジストリの変更が正しければ、ショートカット・メニューに[このフォルダでcmdを開く]というメニュー項目が追加されているはずだ。

追加されたショートカット・メニュー
エクスプローラで目的のフォルダをマウスで右クリックすると、このメニューが表示される。
  今回追加したコマンド。これを実行すると、選択したディレクトリがカレント・ディレクトリになった状態でコマンド・プロンプトが起動される。

 ただし、cdコマンドはUNCに対応していないので、この方法で正しくディレクトリを移動できるのは、ドライブ文字が割り当てられたドライブ以下のフォルダだけである(UNCが指定されるとエラーになり、デフォルト・ディレクトリのままコマンド・プロンプトが起動される)。

 cdコマンドの代わり、次のようにpushdコマンドを使えば、UNCを選択した場合でも、カレント・ディレクトリを移動できるようになる。ただしこの場合、対象となるドライブに対し、自動的に空いているドライブ文字が割り当てられる。ドライブ文字が勝手に割り当てられるのは好ましくないと思うならcdコマンドを、勝手に割り当てられたとしても、UNCでも自動的に利用できる方が便利だと思うならpushdコマンドを使うとよいだろう。End of Article

cmd.exe /k "pushd %L"
 
「Windows TIPS」


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

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間