「ディレクトリ」や「パス」
GUI (直観的な操作のソフト) の操作に慣れている方にとってはあまり聞きなれない言葉ですが、Windowsのコマンドプロンプトを扱うようになると是非覚えておきたいのがこれらの概念です。
プログラミングを覚えるなら、必須とも言えるこれら「ディレクトリ」や「パス」について今回まとめてみました。
それでは、さっそく始めていきましょう。
photo by Brock Roseberry
ディレクトリ/Directory
まずディレクトリというのは何の事でしょうか?
ディレクトリとは単にテキストや画像、動画のファイルを保管しておく場所であるフォルダのことです。このように同じ意味になるようですが、厳密に言うと違う部分もあるそうで・・
「GUI=フォルダ」・「CUI=ディレクトリ」という認識でOK?
WindowsやMacのGUIでは一般的にフォルダと呼びますが、UNIXやLinuxなどのCUIではディレクトリと呼ぶのが一般的のようです。WindowsのコマンドプロンプトでCUIを扱う場合はディレクトリです。
階層構造
Windowsのファイルの作りは階層構造 (Hierarchy/ヒエラルキー) になっています。木の様な枝分かれをしていることから、ツリー構造 (Tree Structure/ツリー・ストラクチャ) とも呼ばれています。
CUIが主流だったひと昔前はフォルダの場所をしっかりと把握していないとわかりにくかったようですが、WindowsではエクスプローラのGUIによってこのツリー構造が視覚的にわかりやすく表示されます。

「treeコマンド」 ツリー構造をコマンドプロンプトで表示させる
Windowsのフォルダによるツリー構造をコマンドプロンプトによって表示させる方法があるのでやってみましょう。
▼コマンドプロンプトで「tree」と入力すればこのようにテキストで表示されます。
ルートディレクトリ/Root Directory
まずルートディレクトリのルート/Rootというのは、植物でいうところの根を意味します。
ちょっとややこしい単語で他にRouteもありますがこちらは道・国道という意味です。和製英語的にはこっちのルート/Routeの方がお馴染みかもしれませんが、ディレクトリでは根を意味する方Rootです。
という事でルートルートとはツリー構造でいうところのフォルダ (ディレクトリ) の根底の部分に当たるわけです。具体的に言うと「C:\」の部分がCドライブのルートディレクトリです。ただ「C:\」だけがコンピュータ内で唯一のルートディレクトリではなく、例えばFドライブなら「F:\」Gドライブなら「G:\」の部分がルートディレクトリになります。
カレントディレクトリ/Current Directory
カレントディレクトリのカレント (Current) の英単語の意味は現行、現在の、最新のという意味合いになります。パソコンの場合、現在ユーザーが作業している階層のディレクトリの事を指します。
例えば・・
この図ようにエクスプローラで「ユーザー」というフォルダを選択して開いて見ている「ユーザー」フォルダの中身がカレントディレクトリになります。

パス/PATH
パスというのはフォルダの場所を示す住所にあたります。
C:\Windows\Program Files\Windows Media Player
というような「\ 半角円マーク」や「半角バックスラッシュ (/の逆バージョン)」でフォルダ名やファイル名を区切っている文字列を見たことありませんか?この文字列がファイルの住所を示すパスになります。
上記の文字列の意味は・・
「“Cドライブ”の中の”Program Filesフォルダ”の中の”Windows Media Playerフォルダ”を開く」
という意味になります。「\」マークを使う事で文字列が簡略化されて効率良くフォルダ・ファイル場所を把握する事が出来るというわけですね。ドライブとすぐ下層のフォルダを区切る時は「\」の前に「:」を付けて、「C:\」や「F:\」という表記の文字列を使用します。
ちなみにUNIXやLinuxなどのOSでは「/」でディレクトリを区切ってパスとして表示します。Windowsでもこの「/」をパスの文字列として使用する事ができます。
例えば・・
というように全て「/」を使っても
C:/Windows/Program Files/Windows Media Player
「\」と「/」を混合しても、変わらずフォルダ・ファイルを指定する事は出来ます。
C:\Windows/Program Files\Windows Media Player
絶対パス
パスには絶対パスという用語があります。またの名をフルパス、英語ではAbsolute Pathです。Absolute (アブソールート) の英単語の意味は絶対という意味もありますし、絶対不変の性質という意味も含まれているようです。
例として挙げると・・
こちらが絶対パスです。
C:\Windows\Program Files\Windows Media Player
最上層のルートディレクトリから下層のフォルダやファイルの目的場所まで略す事なく全てのパスを表記するのが絶対パスになります。

相対パス
また相対パス (そうたいパス) という用語もあり、英語だとRelative Path (リラティブ・パス) です。相対とは単独ではなく他との兼ね合い、関係性によって成り立つというような意味です。
相対パスは現在作業しているファイル場所、つまりカレントディレクトリ (現在地) から目的のファイル・またはフォルダ場所を示したパスです。カレントディレクトリを「.\」で表記し、1つ上層に行く場合は「..\」と表記します。2つ上層に行く場合は「..\..\」です。
例えばこのように・・

赤の地点「Windows Media Player」フォルダから青の地点「Windows」フォルダを目的地とした道のりをパスで表すとこうなります。
.\..\..\Windows
カレントディレクトリにあたる「.\」は省略する事も出来ます。ただ「\」も省略しないと絶対パスと間違えてしまうので「.」+「\」を省略します。
絶対URL・相対URL
相対や絶対という概念はURLにもあります。絶対URLと相対URLです。意味は絶対パスと相対パスとほぼ同じになります。WEBサイトを作るためには必須の知識です。
まとめ
基礎知識ですがパスの理解があいまいだったのでまとめながら把握してみました。なんとなくだけしか理解していなかったのでスッキリ解決です。
今回の記事は以上になります。
最後までご覧いただきありがとうございました。