外部コマンド実行時にプログラムの検索が行われるディレクトリ

広告
eyecatch

通常コマンドプロンプトから外部コマンドを実行する場合、プログラムのあるディレクトリに移動するか、パス付でプログラムを実行する必要がありますが、あらかじめプログラムなどを置くディレクトリを登録しておくことで簡単にプログラムを実行することできます。ここでは外部コマンド実行時にプログラムの検索が行われるディレクトリに関して解説します。

環境変数PATHについて

コマンドプロンプトから外部コマンドを実行した場合、コマンドプロンプトの現在位置のディレクトリの中に実行しようとしているファイルが存在するかどうかを確認します。もし見つかれなかった場合にはエラーが表示されます。

ただし実行するプログラムをパス付きで指定した場合には他のディレクトリにプログラムがあっても実行できます。

c:¥>c:¥test¥sample.exe

上記の場合であればCドライブの中にある「test」ディレクトリの中に格納された「sample.exe」ファイルを実行します。

このようにファイルにパスを付けて実行すれば他のディレクトリに格納されている外部コマンドを実行できますが、あらかじめプログラムを保存して置くディレクトリを登録しておき、プログラムを実行する場合にはそのディレクトリの中に実行ファイルが無いかどうかチェックしてもらうことができます。

先ほどの場合で言えば、「c:¥test」ディレクトリをプログラムを保存しておくディレクトリとして登録しておけば、単に次のように実行することができます。

c:¥>sample.exe

プログラムの保存先のディレクトリは環境変数PATHに設定されています。現在どのディレクトリが設定されているのか確認するには、コマンドプロンプトから「path」と実行して下さい。

c:¥>path

環境変数PATHについて(1)

非常に多くのディレクトリが設定されています。最初から設定されているディレクトリもありますし、アプリケーションをインストールした時に、そのアプリケーションが使用するプログラムの保存先を自動で追加したものもあります。

PATHの値には外部コマンド実行時にプログラムを探しに行くディレクトリが順に記述されています。区切り文字はセミコロン(;)です。例えば次のように設定されていたとします。

PATH=c:¥test;d:¥myapp¥bin;

これは外部コマンドを実行時に自働的に探しにいくディレクトリが次の通りということを表しています。

c:¥test
d:¥myapp¥bin

この3つのディレクトリに格納されているプログラムなどについては、コマンドプロンプトから実行する場合に、わざわざディレクトリまで移動してから実行する必要はありません。また実行するプログラムにパスを追加して実行する必要もありません。

コマンドプロンプトからメモ帳のアプリケーションを起動する時に、単に「notepad.exe」と実行するだけでアプリケーションが起動したのは、メモ帳のアプリケーションである「notepad.exe」がPATHに設定されたディレクトリに格納されているためです。

環境変数PATHについて(2)

このため、コマンドプロンプトの現在位置がどのディレクトリにある場合でも、単に「notepad」と実行すればプログラムを起動することができます。外部コマンドを実行する場合に意図しないプログラムが実行されてしまった場合には、環境変数PATHの値を確認しどのディレクトリへプログラムを探しに行っているのかを確認するようにして下さい。

コマンドプロンプトの使い方の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。