FAT32のファイルシステムで扱える最大ファイル数は65,535個?21,845個?

[参考記事] FAT(File Allocation Table)ファイルシステムの仕様 FAT16 FAT32 exFAT VFAT

FAT16、および FAT32のファイルシステムで、ルートディレクトリやサブディレクトリに作成できる最大ファイル数は以下になります。

ファイルシステムルートディレクトリサブディレクトリ
FAT16512 個65534 個
FAT3265535 個65534 個

ただこのファイル数は、MS-DOS の 8.3 形式に準拠するファイル名をつけた場合となり、実際にはこれより少なくなります。

Windowsではファイル名をMS-DOS の 8.3 形式に準拠させるため、準拠しないファイル名は準拠するようにエイリアス(別名)を作成します。
このファイル名やエイリアスなどのファイル情報は、ディレクトリエントリとよばれこの数によってファイルの最大数は決定します。

MS-DOS の 8.3 形式に準拠するファイル名とは、大文字と記号のみ12文字までのファイル名です。
使用できる記号は、『 !@#$%&().{^} 』です。

このルールに準拠する場合、ディレクトリエントリは1つ使用されます。
使用できない文字が含まれていた場合は、ディレクトリエントリは2つ使用されます。
また長いファイル形式は、13文字ごとにディレクトリエントリを 1 つ使用します。
例えば小文字を含む13文字のファイル名であれば3つ、小文字を含む25文字のファイル名であれば4つのディレクトリエントリを使用します。

このようにして最大ファイル数は決まりますので、たとえ最大ファイル数が65,535個であったとしても 小文字13文字以上のファイルは65,535 ÷ 3 = 21,845個までしかファイルを扱うことはできません。

つまりどれだけハードディスクやメモリーカードに容量が余っていたとしても、FAT32のファイルシステムを使用していた場合は、 21845個までしかファイルを保存することはできません。

それ以上のファイルを保存したい場合にはNTFSなどのほかのファイルシステムを使用します。

関連記事

スポンサーリンク

Zend Frameworkのデータベース接続

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る