2024年6月1日土曜日

Windows ファイル拡張子の長さは何文字まで?

ファイル拡張子の長さは制限なし

ファイル名は 255 文字を超えることができないことに加えて、ファイル拡張子の長さに制限はありません。これは、ファイルの拡張子がファイル名自体と別のものではなくファイル名の一部であるためです。

  • ファイルの拡張子の長さは制限なし。
  • ファイル名は 255 文字まで。(256 -終端文字)
  • 最大パス長は 259 文字まで。(260 -終端文字)
  • フォルダ名のみのパス長上限は 247 文字まで。
    (260 -ファイル名予約に 12 文字分 -終端文字)

ファイル名の長さは NTFS ファイルシステムの上限と同じ 256 文字 までですが、Windows では終端文字 0 (null) が入るため可視範囲の単体ファイル名長さの上限は 255 文字。技術的な話なので、最大ファイル名長は 255 文字 と考えて問題ありません。

最大パス長は Windows の MAX_PATH 定数により 260 文字までに制限されています。終端文字が入るため可視範囲の長さは 259 文字まで。

MAX_PATH 定数は、Windows 10 バージョン 1607 以降からオプトイン形式で解除が可能になりました。

NTFS ファイルシステム自体の最大パス長は 32768 文字です。

フォルダ名のみの最大パス長は 260 文字。そこからファイル名予約の 12 文字分と終端文字を差し引くため、可視範囲のフォルダ名のみパス長上限は 247 文字です。

フォルダ名が長い上に階層が深い場所にファイルを作成すると、ファイル名が途中で切れたり、長い名前を持つファイルが入っているフォルダの名前を後から変更して長くすると、「対象のパスが長すぎます」というエラーが発生することがあります。

Monitor with many strings displayed