【プログラミング初心者向け】絶対パス・相対パスとは?

共有フォルダにある○○資料のパスを送ってください

そんな言葉を聞いて、少し戸惑った経験はありませんか?

この記事では、プログラミング初心者の方でも理解できるように、ファイルパスの基本的な考え方を、できるだけわかりやすく解説します。

パスとは

パスとは、ファイルやフォルダの場所を示す文字列のことで、正式名称は「ファイルパス」と言います。コンピュータ内のファイルの住所のイメージです。
例えば、WindowsのPCでは下記のイメージのものです。

C:\Users\hogehoge\Desktop\fugafuga.txt

パスの種類

パスは、主に絶対パスと相対パスの2種類があります。
下記の階層構造を例に、それぞれご説明いたします。

C:\
├─ Users
│ ├─ hogehoge
│ │ ├─ Desktop
│ │ │ └─ fugafuga.txt
│ │ ├─ Documents
│ │ │ └─ work

絶対パス

絶対パスは、ルートディレクトリ(Windowsの場合はドライブ「C:¥、D:¥など」、LinuxやmacOSの場合は「/」)から、目的のファイルやフォルダまでの全ての階層構造を表現します。

具体例

前述したデスクトップパスの例が、この絶対パスの形式です。

C:\Users\hogehoge\Desktop\fugafuga.txt

これは「Cドライブの Users → hogehogeDesktop にある fugafuga.txt」という意味です。

メリット

  • ルートディレクトリから始まるため、途中のフォルダ階層が明瞭。
  • どのカレントディレクトリ(現在開いているファイル・フォルダ)からでも、アクセスが可能。

デメリット

  • ルートディレクトリから始まるため、パスが冗長的になりやすい。
  • ストレージ移行などでルートディレクトリが変わった場合、参照不可となってしまう。

相対パス

相対パスは、カレントディレクトリと、目的のファイルやフォルダとの位置関係のみを表現します。

具体例

相対パスは、カレントディレクトリによって変わります。

相対パスのサンプル①(同じ Desktop フォルダにいる場合)

現在地

C:\Users\hogehoge\Desktop\

相対パス

fugafuga.txt
同じフォルダにあるファイルは、ファイル名だけで指定できます。
相対パスのサンプル②(1つ上の階層に戻る場合)

現在地

C:\Users\hogehoge\Documents\

相対パス

..\Desktop\fugafuga.txt

..(ドット2つ)は、「1つ上のフォルダ」を意味します。

相対パスのサンプル③(Users フォルダにいる場合

現在地

C:\Users\

相対パス

hogehoge\Desktop\fugafuga.txt
相対パスのサンプル④(さらに深い場所にいる場合)

現在地

C:\Users\hogehoge\Documents\work\

相対パス

..\..\Desktop\fugafuga.txt
  1. 1つ目の .. で、workDocuments に移動

  2. 2つ目の .. で、Documentshogehoge に移動

  3. そこから Desktop

メリット

  • 絶対パスより、短いパスで済むことが多い。
  • ストレージ移行などでルートディレクトリが変わった場合でも、ファイルやフォルダの位置関係が以前と同じであれば参照可能。

デメリット

  • カレントディレクトリが変わると、位置関係が変わるのでパスも変わる必要がある。
  • カレントディレクトリと、目的のファイルやフォルダが遠い場合、冗長的になり且つ視認性が低くなる。

ルート相対パス

相対パスは、ウェブシステムやウェブサイトで、よく活用されます。

具体的には、ドメイン内部ページへのリンクや、スタイルシート(CSSファイル)や画像ファイルを読み込む際などです。
(もちろん、ドメイン外部ページへのリンクや、外部のリソースを読み込む際には、絶対パスしか使用できません)

また、サイトやサーバーのルートディレクトリを基準にしたルート相対パスも、よく活用されます。
ルート相対パスは、サイトやサーバーのルートディレクトリを表す「/」から書き始めます。絶対パスのドメイン部分(example.com)を省略するイメージです。
メリットは、相対パスのように記載しますが、絶対パスと同様にルートディレクトリを基準にするので、短く記載して正確にファイルにアクセスすることができます。
様々なページから呼び出されるナビゲーションメニューや、途中でフォルダ構造が変わる際に活用されます。

パスの用途

絶対パスを使う場合

確実にファイルを参照する必要がある際に使います。例えばシステムの設定や環境変数の設定をする際です。

相対パスを使う場合

参照先がカレントディレクトリから近い場合やフォルダ構造を変えずに移動する際に使います。

初心者がつまずきやすいポイント

パスの区切り文字

ファイル名やフォルダ名の間は区切り文字で区切られます。

Windowsの場合

バックスラッシュ「\」

ファイルの区切り文字「\」(バックスラッシュ)ファイルの区切り文字「\」(¥マーク)

LinuxやMacOSの場合

スラッシュ「/」

ファイルの区切り文字「/」(スラッシュ)

Windowsのバックスラッシュは、環境によって、スラッシュを反転したものか、Yに二重線を重ねた円マークのいずれかで表現されますが、フォントに依存するもので文字コード(区切り文字としては)は同じです。

正しい記号以外は区切り文字として認識されないので、自分が使っているOSの確認や言語の確認をしっかり行ってから、区切り文字を入力するようにしましょう。

ファイル構造の把握

相対パスを使う際に起こりやすいのですが、ファイル構造を把握できておらず正しい場所を参照することができないことがあります。

カレントディレクトリと参照元のファイルの絶対パスを見比べることや、エクスプローラーやFinderなどのファイルマネージャーでファイルの構造視覚的に捉えるようにしましょう。

拡張子の付け忘れ

「.txt、.png、.pdf」などの拡張子を忘れてファイル名のみを入力する場合があります。拡張子まで入力しないとファイル名と認識されないのでしっかり入力するようにしましょう。

おわりに

絶対パス・相対パスについて解説いたしました。

まずは無料説明会・体験セミナー

テックドリームは無料のプログラミングスクールです。「プログラマってどういう仕事?」「自分にできるのかな?」という方も、まずは体験セミナーでプログラミングに触れてみませんか?テックドリームは未経験の方を丁寧にサポートする体制をご用意しています。不安なことや、入校までの疑問点なども気軽にご相談いただけます。

Webかんたん予約

専用の予約フォームより、およそ60秒で簡単にお申込みいただけます。

電話でのご予約

Webかんたん予約ができない場合や、ご質問がございましたら、お気軽にお電話ください。

0120-262-242
9:00~18:00(土日祝を除く)
最新情報をチェックしよう!
>テクド・リム

テクド・リム


「テクドリ」の公式キャラクター。
エンジニアだった父の影響を受けて、夢に向かって日々勉強に励むエンジニアのタマゴ。
夢は「世界を変える、すごいエンジニアになること!」

彼女が通うプログラミングスクールについては「テクドリとは」ページにて紹介中!

CTR IMG