忍者ブログ

別館 まじサビ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

多彩な表現力(困りもの) - ファイルパス

たまに本題を思い出すこのブログ。今回はWindowsのファイルパス表現についてまとめてみました。同じファイルを示すのにも表記のバリエーションが多くWinAPIを呼ぶときにも対応がまちまちでメンドクサイデスネ。これまでに遭遇した厄介者たち中心ですので見落としがあるかも…

ファイルパスはファイルがどこに格納されているかを示す文字列でいわゆる住所(アドレス)表記のルールです。リアルワールドの場合、[日本国○○都○○区○○○7-3 ○ビル9階○○○社]で手紙の送り先を特定できますよね。これのデジタルワールド版です。

ドライブ・フォルダ・ファイル
ドライブ(ルート、ルートディレクトリ)はツリーの根にあたり、記憶領域の装置単位の大きな区切りです。[アルファベット1文字+コロン+バックスラッシュ]で表現されます。大容量ハードディスク装置などでは1台で2つ以上のドライブ名を持っていることがありますが領域は完全に仕切られ(パーティション)共有することはありません。イメージとしてはホールケーキ1台を6ピースに切り分けた時1ピースごとに名前があるような感じ。
フォルダ(ディレクトリ)はツリーの枝・節にあたり、それ自体はデータを持たず関連するファイルをまとめ分類するものです。その名の通りフォルダ・バインダー・箱などをイメージするのが良いかと。ドライブ直下に複数配置できさらにフォルダinフォルダが可能です。マトリョーシカとは違い一つの中に複数を格納できます。
ファイルはツリーの葉にあたり、データの塊をさします。

絶対パス・相対パス
絶対パスは、ルート(ドライブ名)から対象のファイルまでの経路を示すパス。電話番号で言うなら、[国番号-市外局番-市内局番-回線番号-内線番号]というように自分の現在位置に関係なく電話機を特定して鳴らすことができるような表記です。
相対パスは、自分の設定しているカレントディレクトリから目的のファイルにたどり着くための経路を示す表記です。電話を掛ける場合に、同じ建物の中なら[内線番号]のみで通じるし、同じ地域なら[市内局番-回線番号]というのが一般的な使い方ですよね。この表現が相対パスに当たります。
カレントディレクトリが[C:\アプリ製造機\プロジェクトW]の場合、絶対パス[C:\アプリ製造機\プロジェクトW\素材\ストライプ1.jpg]と相対パス[素材\ストライプ1.jpg]は同じファイルです。

区切り記号
ドライブ・フォルダ・ファイルを区切るときに使う記号です。Windowsでは一般的に円記号を使っています。このブログではフォント指定をすっぽかしているためorzバックスラッシュが表示されているかもしれません[\]←このカッコの中に入っている記号を円記号だと思ってください。Windows以外のシステムではスラッシュ[/]を使うことが多く、Windowsではどちらを使っても一応通る様になっていますがスラッシュを使うと一部のAPIで不具合の原因になります。

ロングパス・ショートパス
ロングパス[メニュー写真\ふわふわプリン.png]とショートパス[メニュ~1\ふわふ~1.png]は同じファイルです。ロングパスの説明は省略しますがなじみのある表記です。ショートパスは昔のシステムで使われていた表記でフォルダを8bytesにファイルを8bytes+区切点1byte+拡張子3bytesの計12bytes以内に抑えてる表記です。省略部の~1はシステムによって割り当てられたりもとが8bytes以内なら省略しなかったりと癖があるので使うときは正式な手続き(API)を踏みましょう。

突然ですが、力尽きました。今日はこの辺で…ノシ_パた。。。

PR

comment

お名前
タイトル
E-MAIL
URL
コメント
パスワード

TemplateDesign by KARMA7

このブログはステキなTemplateを少し改造して利用しています。

忍者ブログ [PR]