「PATHを通す」ってどゆこと?

PATHっていうのはファイルパスを指す略称でもあるのですが、
「PATHを通す」という風に言う場合は主に環境変数の事を指します。

コマンドプロンプトを開いて

path

を実行するとディレクトリのパスがいっぱい出てくると思います。

「;」セミコロンはフォルダとフォルダの区切り文字「ディレクトリセパレータ」を意味しています。

前の方からいくつかを抜き出して整理すると
C:\WINDOWS
C:\WINDOWS\system32
C:\WINDOWS\System32\Wbem
C:\WINDOWS\System32\WindowsPowerShell\v1.0\

ってなってます。
このフォルダが何やねん!って話なんですけど。

「このフォルダの中にあるファイルはカレントにあるものとして扱いますよ。」って意味で、フルパスで指定しなくてもアクセスすることが出来るようになってます。

例えばメモ帳(notepad.exe)を開いてみましょう。

まず、カレントが「c:\Winows」だったとして、カレントにnotepad.exeがないことを確認しました。

c:\Windows>dir notepad.exe

カレントにnotepad.exeがないのですが

c:\Windows>notepad.exe

という風にメモ帳を実行するとちゃんと開いてくれます。

notepad.exeのフルパスは「c:\Windows\system32\notepad.exe」です。

本来はカレントが合ってないのでnotepad.exeは実行できないのですが、
コンピュータはpathに設定されてるフォルダの中もカレントとして扱うので、
C:\WINDOWS;
C:\WINDOWS\system32;
C:\WINDOWS\System32\Wbem;
C:\WINDOWS\System32\WindowsPowerShell\v1.0\;
これらのフォルダを上から順に探していくんです。

そして2番目に「C:\WINDOWS\system32」があるので、この中から見つけ出してnotepad.exeを実行してくれました。
この仕組みを「pathが通ってる」と言います。

じゃぁ、「pathを通す」ってどうしたらいいのか。
方法は大きく3つ。

1.環境変数「path」に目的のファイルのディレクトリパスを追加する。
2.目的のディレクトリをカレントにする。
3.相対パス、絶対パスで目的のファイルを指定する

環境変数「path」に目的のファイルのディレクトリパスを追加する

set path=[目的のディレクトリパス];%path%

ってすればOKです。

path

で追加されたかどうか確認しましょう。

常にそのフォルダをpathに追加したい場合は環境変数の設定でpathを追記しましょう

目的のディレクトリをカレントにする

c:\Windows > cd system32
c:\Windows\system32 > notepad.exe

相対パス、絶対パスで目的のファイルを指定する

■絶対パスで指定

c:\Windows > c:\widnows\system32\notepad.exe

■相対パスで指定

c:\Windows > system32\notepad.exe

とか

c:\Windows > ./system32\notepad.exe

このパスが通ってないとインストールしたのに「○○ファイルが見つかりません」とか文句を言われます。

カレント(Current)

カレントとかカレントパスって呼ばれるものがあります。

今居るフォルダの事を「カレントディレクトリ」って言って、このディレクトリのパスを「カレントパス」
って言います。


↑この「c:\Windows\System32」の部分が今いるフォルダ(ディレクトリ)です。

エクスプローラで表現すると

こういうこと

ファイルパス・ディレクトリパス

今回お話するパスは「ファイルパス」とかのPATHです。

どれもコンピュータシステムでファイルやフォルダ(ディレクトリ)の所在地を示す文字列です。

言葉で説明するよりも実際に目にする方が早いので
■Windowsの例

C:\Widnows\system32\drivers\etc\hosts

こんな感じのやつです。
これをwebサイトのパンくず規則で書くとこう!

C: > Widnows > system32 > drivers > etc > hosts

口語で書くと
Cドライブの中の、windowsフォルダの中の。。。(略)。。。hostsファイル

つまり
「:」はドライブ
「/」はフォルダ
を表してるんですね。

でこの区切りの事をセパレータ(英語にしただけ)って言います。