用語集

ファイル名とは何ですか?

ファイル名 とは、フォルダー内でファイルが持つ名前のことで、tmp.txt のようなものです。ファイルシステムはこの名前をファイルの外側で保持しており、名前は後から変更できます。

file-name

ファイル名 とは、フォルダー内でファイルを識別するための名前です。ファイル名は、ピリオドで区切られたベース名と省略可能な拡張子で構成されます。tmp.txt の場合、ベース名は tmp で、拡張子は txt です。

メタデータレポートでは、File Name フィールドにこの名前が表示されます。名前は自由に決めて後から変更できます。ファイル名はファイルの内容の一部ではないためです。

値の由来

ファイルシステムは、ファイル名をファイル内ではなくフォルダー内に保持します。そのためメタデータリーダー ExifTool は、File Name を ファイルサイズと同様に擬似タグと呼びます。

形式によっては、ファイルの中にも名前を保存します。

  • ZIP アーカイブは、含まれるすべてのファイルの名前を、省略可能な相対パスとともに保存します。
  • gzip ファイルは、圧縮した元のファイル名を、フォルダー名なしで保存できる場合があります。
  • MP3 ファイルに含まれる ID3v2 タグは、TOFN フレームに元のファイル名を保存できます。

ダウンロードは、ファイルの外部から提案された名前を受け取ることもあります。Web サーバーは、filename=example.html のように、Content-Disposition ヘッダーでその名前を送信できます。ダウンロードを保存するプログラムは、この名前をあくまで推奨名として扱うべきです。

その値がどのように表示されるか

File Name には、フォルダーパスを含まず、拡張子付きのフルネームが表示されます。ExifTool はフォルダーを別の Directory フィールドに保持します。多くの形式では、拡張子がファイル形式と一致します。

Windows は OSCAR、Oscar、oscar を同じ名前として扱います。POSIX ファイルシステムでは、これらを 3 つの異なる名前として扱うことができます。Windows では、1 つの名前は一般的に 255 文字まで、古い形式のフルパスは 260 文字までに制限されます。

ファイル名 とは 使えない文字

Windows では、ファイル名は次のルールに従う必要があります。

  • 名前には、:、"、/、|、?、*、バックスラッシュ、不等号 (<)、不等号 (>) を含めてはいけません。
  • 名前には、整数値が 0 から 31 の文字を含めてはいけません。
  • 名前は、CON、PRN、AUX、NUL、COM1、LPT1 などの予約デバイス名と同じであってはいけません。拡張子の有無は問いません。Microsoft の命名ルールでは、NUL.txt も NUL と同じ扱いになります。
  • 名前をスペースまたはピリオドで終わらせてはいけません。ファイルシステムがそのような名前を受け付ける場合でも、Windows シェルは受け付けません。

移植性のあるオペレーティングシステム向けの POSIX 標準は、これより制約が少ないです。POSIX のファイル名には、スラッシュとヌルバイト以外の任意のバイトを含めることができます。

POSIX システム間を安全に移動できる名前のために、POSIX は移植可能文字集合を定義しています。この集合には、A から Z、a から z の英字、0 から 9 の数字、ピリオド、アンダースコア、ハイフンが含まれます。ハイフンを先頭文字にすることは、コマンドラインで問題を引き起こす可能性があるため、POSIX は推奨していません。

それが重要な理由

ファイル名 とは フォルダー内で一意である必要があります。拡張子は名前の一部です。そのため、同じベース名で拡張子が異なる 2 つのファイルは、同じフォルダー内に存在できます。

ファイル名の変更は内容を変えませんし、新しい拡張子にしても形式は変わりません。ExifTool は、ファイル自体を変更せずに新しい File Name を書き込むことができます。

通常、ExifTool はファイルヘッダーを読み取ってファイル形式を判別します。特別な高速設定ではヘッダーを読み飛ばし、拡張子からファイル形式を取得します。

ファイル内に保存されたタイトルは、ファイル名とは別の情報です。PDF には Title を保存でき、ID3v2 タグは TIT2 フレームに楽曲タイトルを保存します。ファイル名を変更しても、これらのタイトルは変更されません。

メタキー