05.ファイルやディレクトリの保存場所

コマンドプロンプトのユーザーインターフェイスはCUIです。そのため、ドラッグやドロップを使ってファイルやディレクトリの保存場所変更したりアプリケーションのメニューから新規デイレクトリを作成すると言うわけにはいきません。つまりファイル、ディレクトリの保存場所は文字を使って表現する必要があります。

ではどうやって、保存場所をしてすれば良いでしょうか?
答えは「パス」という方法を使って指定します。パスはコマンドプロンプトだけでなく、Windows自身も使いますし、プログラムやWebページといった技術の中でも使われます。覚えておいて損はありませんから、是非身につけておきましょう。

パスとは?

パスとは、「基準となるディレクトリから目的のディレクトリまで、順にディレクトリ名を記述したもの」となります。つまりファイルやディレクトリの保存場所を示すための記述方法のことで、身近なもので例えれば「住所」のようなものです。

パスには二通りの記述方法があり、ルートディレクトリを基準に目的のディレクトまで順に記述したものを「絶対パス」と言います。また、カレントディレクトリから目的のディレクトリまで順に記述したものを「相対パス」といいます。

絶対パス

例えば、Windows10のドキュメントディレクトリに保存されたsample.txtというファイルまでの絶対パスは以下の通りとなります。

C:ドライブの中のユーザーの中のHomeの中のDocumentsの中にsample.txtが保存されている
C:ドライブの中のユーザーの中のHomeの中のDocumentsの中にsample.txtが保存されている
C:¥Users¥Home¥Documents¥sample.txt

※「Home」はWindowsにログオンするためのアカウント名になっています。ここでは便宜上Homeという名前にしていますが、皆さんの場合は皆さんのアカウント名が表示されているはずです。

※「Documents」はWindows10日本語版では「ドキュメント」という表記になっています。Documentsディレクトリの他にもいくつかコマンドプロンプトでの表記とエクスプローラーでの表記が異なるディレクトリがありますので注意しましょう。

Windowsで絶対パスを記述するときは、まずドライブ名(ルートディレクトリ。ここではC:になります。)から記述しはじめます。次にその中のディレクトを目的のディクトリまで順番に記述していき、最後にsample.txtというファイル名まで記述します。その後、ディレクトリとディレクトリ、ディレクトリとファイルの間に¥(区切り記号、デミリタと言います)を記述しパスの完成となります。(C:ドライブ以外のドライブに保存されたファイルなどへのパスは、最初のC:をD:などに変更します。)

絶対パスを身近なもので例えると「住所」のようなものです。
「日本国兵庫県神戸市中央区」というふうに大きな区分からだんだんと小さな区分を表記します。この住所はWindowsでは、「日本国」がC:で、「兵庫県」がUsers、「神戸市」がHomeで、「中央区」がDocumentsといった具合です。

相対パス

上記の絶対パスで表したsample.txtを相対パスを使って表現してみましょう。
相対パスは「カレントディレクトリを基準に目的のディレクトリまでの道筋を表したもの」ですから、まずカレントディレクトリがどこかを知る必要があります。カレントディレクトリは「ユーザが現在作業を行っているディレクトリ。」でしたね。

さて、このカレントディレクトリを知る方法ですが、2つあります。一つはコマンドプロンプト の画面上の赤い印のところをみてください。

赤枠のところがプロンプトと呼ばれる部分
プロンプトには「促す」という意味があり、その名の通り入力を促している。

ここを「プロンプト」と呼びますが、このプロントに表示されているのがカレントディレクトリまでの絶対パスになります。ですので、このパスの最後のディレクトリがカレントディレクトリになります(もし、カレントディレクトリが変更されればプロンプトの表記も変更されます。)。

いつも、プロンプトにカレントディレクトリが表示されていればいいですが、そうでない場合はどうすればいいでしょうか?プロンプトにカレントディレクトリが表示されていない場合、cdコマンドを使用ししましょう。使い方は簡単。半角英数字で「cd」と入力してENTERキーを押すだけです。そうすると次の行にカレントディレクトリまでの絶対パスが表示されます。

コマンドを入力してカレントディレクトリまでのパスを取得する


これでカレントディレクトリ(home)と目的のディレクトリ(Documents)が判明しましたね。では、相対パスの記述方法を見ていきましょう。

相対パスを記述するには、カレントディレクトリの次のディレクトリから記述します。カレントディレクトリ自身は記述しません。次のディレクトリから最後のディレクトリまで順に並べて書いて、ディレクトリの間を¥記号(デミリタ)で区切ります。最後にファイル名を指定してデミリタで区切りましょう。

Documents¥sample.txt

これで相対パスの完成です。絶対パスに比べると少し短く表記できましたね。カレントディレクトリと目的のディレクトリの位置関係にもよりますが、大抵の場合絶対パスよりも相対パスの方が短く記述できます。

相対パスは、ディレクトリ同士の位置関係が変わらなければ、パスの記述が変わることはありません。それに対して絶対パスはディレクトリの位置が変わった場合、ほとんどの場合、パスの記述を変更する必要があります。そのためシステムで使われるファイルやディレクトリなどは絶対パスで表しますが、ユーザーが作成したファイル内などでは相対パスが使われることが多くなります。

ただ、このままでは少し困ったことになります。より下層のディレクトリにアクセスする場合、今の相対パスの書き方で問題ありませんが、上層のディレクトリにアクセスする時、パスがかけません。そこで、相対パスでは特殊なディレクトリ名を使用します。

特殊なディレクトリ名

  • .(ドット):カレントディレクトリを表します。普段は省略されます。
  • ..(ドットドット):ペアレント(一階層上の)ディレクトリを表します。

このうち、..を使うと一階層上、..¥..とすると2階層上のディレクトリを表現することができます。たとえば、

..(一階層上)
..¥..(二階層上)
..¥..¥Windows(二階層上のディレクトリの中のWindowsディレクトリ)

のようにするとカレントディレクトリよりも上層のディレクトリを指定できます。上層のレベルに合わせて..を使いましょう。

絶対パスと相対パスのメリットデメリット

2種類のパスの記述方法があるということはそれぞれにメリットとデメリットがあります。まず絶対パスのメリットですが、アプリケーションなどをインストールするときにシステムの基本的なディレクトリ構造が分かっていれば特定のインストール場所を指定しやすいです。パスにルートディレクトリを含むため、ドライブが変わっても対応しやすいです。
デメリットは、ディレクトリの保存場所が変更になった場合、ほとんどのパスを書き直さないといけなくなるでしょう。

次に相対パスのメリットは、ディレクトリの相関関係だけでパスを指定できるので、基本的にディレクトリが、システムのどこに保存されていたとしても気にせずパスがかけますし、ディレクトリの保存場所が変更されてもほとんど修正なく使えるでしょう。しかし、例えばC:ドライブからD:ドライブと言ったように、複数のルートディレクトリを跨ぐようなパスは記述でません(こういう時は絶対パスを使います)。

パスを使用することで、離れた場所にいる人にファイルやディレクトリの場所を伝えやすくなったり、コンピュータに指示しやすくなります。またプログラム開発やWeb開発では絶対パス、相対パス共に必要になる知識です。ぜひ積極的に覚えていきましょう。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA