このページでは、絶対パスと相対パスの違いを、Windowsでの表し方で解説します。
最後にパスの復習を兼ねて、コマンドプロンプトでフォルダから移動してみます。
LinuxやMacでのパスは↓
パスの表し方
パスというのはファイルやフォルダの場所を示したものです。
そしてこのパスの表し方には絶対パスと相対パスの二種類があります。
一般的にパスと言われた場合、絶対パスか相対パスのどちらかのことを指しています。
絶対パス
Windowsではドライブがあってその中にファルダやファイルが入っています。
絶対パスは、フォルダやファイルの場所をドライブから記述したものです。
例えば、CドライブのUsersフォルダの中にfujiというフォルダがあるとします。
このfujiを絶対パスで表すと、
C:\Users\fuji
となります。
ドライブ名のあとに「:」を付け、下の階層にいくたびに「¥」を付けます。
では、fujiのなかにDocumentsがあり、そのなかにprofile.txtというファイルがあるとします。
C:Users └─fuji └─Documents └─profile.txt
この場合、profile.txtの絶対パスは、
C:\Users\fuji\Documents\profile.txt
となります。
相対パス
いくつもフォルダや画面を開けるGUI(グラフィカルユーザーインターフェイス)と違い、CLI(コマンドラインインターフェイス)などでの操作には、自分が今いるフォルダというのが明確にされています。
この自分が現在いるフォルダ――カレントフォルダを基準にパスを記述したものが相対パスです。
C:Users └─fuji └─Documents(現在地) └─profile.txt
カレントフォルダがDocumentsだとすると、profile.txtの相対パスは、
profile.txt
となります。
カレントフォルダを含め、上の階層を省略して記述します。
次にカレントフォルダをfujiに変更したとしましょう。
C:Users └─fuji └─Documents └─profile.txt
この場合、profile.txtの相対パスは、
Documents\profile.txt
という形になります。
また相対パスでは「.」を使うことでカレントフォルダを表し、「..」ではひとつ上の階層のフォルダを表すことができます。
このふたつを使って「Documents¥profile.txt」を書き換えてみると、
.\Documents\profile.txt ..\fuji\Documetns\profile.txt
一番目は、カレントフォルダからの記述です。
二番目は、カレントフォルダを基準とし、そのひとつ上のフォルダ(Users)からの記述です。
まとめます。
- 相対パスはカレントフォルダを基準にして表す。その際はカレントフォルダを含めて上の階層を省略する。
- 「.」でカレントフォルダを明示した書き方もできる。「..」でカレントフォルダのひとつ上の階層を表すことができる。
移動コマンド
コマンドプロンプトやPowerShellを使ってカレントフォルダを変更(現在地の移動を)するには、コマンド「cd」を使います。
パスの復習をかね、コマンドプロンプトで実際にやってみます。
コマンドプロンプトの起動は、
「Windowsキー + R」を押し、「cmd」を入力してください。
Microsoft Windows [Version 10.0.19042.1348]
(c) Microsoft Corporation. All rights reserved.
C:\Users\fuji>
上記はコマンドプロンプトを起動したところです。
一番下の行は絶対パスになっていますね。現在は「fuji」フォルダにいます(カレントフォルダ)。
>の隣でコマンドを打つことができます。
ここに「cd」とタイプし、半角スペースひとつ挟んで移動先を指定します。
移動先には絶対パスか相対パスで記述します。
<構成図> C:Users └─fuji(現在地) ├──Documents │ └─profile.txt └──images └─portrait.jpg
imagesフォルダに移動するとしましょう。
絶対パス
C:\Users\fuji>cd C:\Users\fuji\images
相対パス
C:\Users\fuji>cd images
移動先を絶対パスと相対パス、それぞれで書きました。
移動後、もしこのフォルダの中にある「portrait.jpg」をなにかしらの作業で使いたくて、相対パスで指定するときには、ファイル名だけの記述で済むことになります。
つぎはimagesからDocumentsに移動します。
<構成図> C:Users └─fuji ├──Documents │ └─profile.txt └──images(現在地) └─portrait.jpg
絶対パス
C:\Users\fuji>cd C:\Users\fuji\Documents
相対パス
C:\Users\fuji>cd ..\Documents
imagesの一つ上を「..」で表し、そこから目的地まで記述しています。
最後にDocumentsからUsersに移動してみましょう。
<構成図> C:Users └─fuji ├──Documents(現在地) │ └─profile.txt └──images └─portrait.jpg
絶対パス
C:\Users\fuji>cd C:\Users
相対パス
C:\Users\fuji>cd ..\..
Documentsのひとつ上が「..」、さらにそのひとつ上が目的のフォルダなので、「..¥..」となります。
まとめ
総まとめです。
パスはファイルやフォルダの場所を表したもの
絶対パスは、フォルダやファイルの場所をドライブから記述したもの
相対パスはカレントフォルダを基準にパスを記述したもの
相対パスでは「.」でカレントフォルダ、「..」でひとつ上のフォルダを表すこともできる
「cd 移動先のパス」でカレントフォルダの変更
このページが少しでもお役に立てたのなら幸いです。