Forum: PC-Programmierung Anzahl max. Unterverzeichnisse bei FAT16/FAT32


von Stud.-Ing. (Gast)


Lesenswert?

Moin,

weiß jemand die theoretische Obergrenze der Anzahl von 
Unterverzeichnissen die auf einem mit FAT16 bzw. einem mit FAT32 
formatierten Datenträger möglich ist?

Wie lang darf der Pfad max. sein? Länger als 255 Zeichen?

Danke und Gruß,
Stud.-Ing.

von Tishima (Gast)


Lesenswert?

Hmmm,
deiner Frage zu Urteilen ist Dir noch nicht ganz klar, wie ein 
Dateisystem in diesem fall FAT  aufgebaut ist.

Die Verzeichnisstiefe hat bei FAT rein garnichts mit der laenge des 
Dateinamens zu tun. Ein directory ist lediglich ein File Eintrag mit ner 
bestimmenten Kennung, die auf einen weiteren Fileeintrag zeigt.

Daher ergibt sich laut WIKI folgende Beschränkung

65.536 Einträge sind möglich, allerdings nur 512 im Rootverzeichnis.


So, für FAT32 musst Du das selber herausfinden.

gruß,
Bjoern

von Stud.-Ing. (Gast)


Lesenswert?

Moin,

den Artikel auf Wikipedia habe ich schon gelesen, es hapert aber wohl am 
Verständnis.

> 65.536 Einträge sind möglich
Im Klartext: max 65.536 Verzeichnisebenen wenn man in jedem 
Unterverzeichnis ein neues Unterverzeichnis erschafft? Wie lang darf der 
Name von jedem Verzeichnis sein?

Danke und Gruß,
Stud.-Ing.

von Tishima (Gast)


Lesenswert?

So,

>Im Klartext: max 65.536 Verzeichnisebenen wenn man in jedem
Unterverzeichnis ein neues Unterverzeichnis erschafft?

Ja, so seh ich das auch.

Die laenge des Dateinamens oder Directory ist wiederum abhaenging von 
den max möglichen 8 Byte des Nameneintrags. Ob man die 3 Byte fuer die 
Erweiterung für ein Directory mitnutzen kann bin ich grade überfragt.

So jetzt gibt das noch die komische lange Filenamen Unterstützung die 
irgendwann vom MS dazugemurxt wurde, dan kann ich momentan auch nicht 
aus dem stehgreif weiterhelfen.

Irgendwo im Netz schwirren die orginal MS spezifikationen rum. Die 
solltest Du dir mal reinziehen.

gruß,
Bjoern

von Stud.-Ing. (Gast)


Lesenswert?

>> Im Klartext: max 65.536 Verzeichnisebenen wenn man in jedem
>> Unterverzeichnis ein neues Unterverzeichnis erschafft?
>
> Ja, so seh ich das auch.
Deshalb meine frage ob es jemand genau weiß ;-)

Die Original MS Specs für FAT16 und FAT32 habe ich gelesen, werde da 
aber nicht wrklich schlau drauß wo das theoretische Maximum der Anzahl 
von
Unterverzeichnissen die auf einem mit FAT16 bzw. einem mit FAT32 
formatierten Datenträger möglich sind. Ebenso wie lang der Pfad max. 
sein darf,

Windows z.B. hat ein Problem wenn die Pfade zu lang sind !

Gruß,
Stud.-Ing.

von Tishima (Gast)


Lesenswert?

Ahh, ich glaub ich versteh wo dein "Knoten" im Kopf ist.



Du denkst wahrcheinlich
D:\Delphi\Programme\temp\
ist ein String irgendwo auf der Platte.

Es ist aber so das diese Pfadangabe im Directory Eintrag aus den 
einzelnen Dateinamen zusammengepuzzelt wird.

Das Betriebssystem muss sich bei einem Filezugriff rekursiv durch die 
Verzeichniseinträge hangeln umd das Startcluster des Files zu finden.

gruß,
Bjoern

von Benedikt K. (benedikt)


Lesenswert?

Windows hat mit vielem Probleme. Laut den Specs können die einzelnen 
Namen jeweils max 255 Zeichen lang sein (auch wenn theoretisch 832 
Zeichen passen würden). Die Unterverzeichnisebenen sind unbgegrenzt, 
solange genügend Platz für die ganzen Einträge ist.

von Tishima (Gast)


Lesenswert?

Die max Anzahl der Einträge ist dadurch beschränkt das mit FAT16 2 hoch 
16 Einträge angesprochen werden können.
Da 2 Byte fuer die Clusteradressierung vorgesehen ist.


Wobei das Root Directory mit einer festen grösse von 512 festgelegt ist.


Bei FAT32 sind es nun nicht 2hoch32, wie man anehmen wuerde sondern 
2hoch24 wenn ich mich nicht irre.

gruß,
Bjoern

von Benedikt K. (benedikt)


Lesenswert?

Tishima wrote:

> Bei FAT32 sind es nun nicht 2hoch32, wie man anehmen wuerde sondern
> 2hoch24 wenn ich mich nicht irre.

Du irrst. Es sind 2^32.

von Stud.-Ing. (Gast)


Lesenswert?

> 2hoch24 wenn ich mich nicht irre.
2hoch28

Weiß denn jemand die Antwort zu meiner Frage?

Gruß,
Stud.-Ing.

von Tishima (Gast)


Lesenswert?

Wir haben beide unrecht 2^28 4 Bit werden aus komischen Gründen nicht 
von MS verwendet.

gruß,
Bjoern

von Stefan E. (sternst)


Lesenswert?

Stud.-Ing. wrote:
> Weiß denn jemand die Antwort zu meiner Frage?

Welche Frage denn?
Es wurde doch schon erklärt, dass die maximale Pfadlänge nichts mit 
dem Dateisystem zu tun hat.

von Stud.-Ing. (Gast)


Lesenswert?

> Wir haben beide unrecht
O.K., aber zurück zur Frage, für FAT32 steht bei Wikipedia:
Es können 2^28 Dateien abgelegt werden.

Unterverzeichnisse sind auch nur Dateien mit bestimmten Attributen.
Heißt das also es sind theoretisch 2^28 oder 2^24 (bei Minus 4 Bit) 
Unterverzeichnisse möglich?

Gruß,
Stud.-Ing.

von Tishima (Gast)


Lesenswert?

Hier die Lösung

Maximum Sizes on FAT32 Volumes

A FAT32 volume must have a minimum of 65,527 clusters. Windows XP 
Professional can format FAT32 volumes up to 32 GB, but it can mount 
larger FAT32 volumes created by other operating systems. Table 13-6 
lists FAT32 size limits.

Table 13-6 FAT32 Size Limits
Description  Limit

Maximum file size
4 GB minus 1 byte (232 bytes minus 1 byte)

Maximum volume size
32 GB (implementation)
Files per volume
4,177,920

Maximum number of files and subfolders within a single folder

65,534 (The use of long file names can significantly reduce the number 
of available files and subfolders within a folder.)

Maximum Sizes on FAT16 Volumes
FAT16 supports a maximum of 65,524 clusters per volume. Table 13-7 lists 
FAT16 size limits.

Table 13-7 FAT16 Size Limits
Description  Limit

Maximum file size

4 GB minus 1 byte (232 bytes minus 1 byte)
Maximum volume size
4 GB

Files per volume

Approximately 65,536 (216 files)

Maximum number of files and folders within the root folder

512 (Long file names can reduce the number of available files and 
folders in the root folder.)





Quelle MS

gruß,
Bjoern

von Tishima (Gast)


Lesenswert?

Irgendwas ist hier faul

FAT32 laut Wiki 2^28 max Files

laut MS  4,177,920 max Files


hmmm, komisch

von Stud.-Ing. (Gast)


Lesenswert?

Warum ich das mit den subfolders überlesen habe bleibt wohl das 
Geheimnis meiner Kleinhirnrinde ;-)

> Maximum number of files and subfolders within a single folder
> 65,534 (The use of long file names can significantly reduce the number
> of available files and subfolders within a folder.)

Also, vorausgesetzt es ist genügend Platz vorhanden kann ich bei FAT32 
max. 65.534 Unterordner haben, soweit so gut.

Für FAT16 steht da aber nur die Anzahl der erlaubten Ordern im 
Wurzelverzeichnis.

Auf jeden Fall erstmal Dank dafür, werde die Specs auch nochmal genau 
lesen aber falls es einer aus dem Stehgreif weiß wäre das nachwievor 
hilfreich.

Gruß,
Stud.-Ing.

von Benedikt K. (benedikt)


Lesenswert?

Die Microsoft Specs sind ziemlich pessimistisch. Gibt es vielleicht 
irgendwo eine neue Spec davon ? Max 32GB sind ja nicht mehr so ganz der 
aktuelle Stand.

von Uhu U. (uhu)


Lesenswert?

Auf FAT16 gehen keine 2^16 Files: Einige Clusternummern haben eine 
Sonderbedeutung, wie z.B. 'gelöscht', oder 'defekt'.

von Tishima (Gast)


Lesenswert?

@Benedikt

die Kastration auf 32G hat MS mit XP eingeführt, d.h. man kann mit 
normalen XP mitteln keine Partition von 32G erstellen, aber 
komischerweise ja proplemlos mit Tools erstellen und nutzen.


@stud

Die 65.534 beziehen sich doch auf Unterorder pro Ordner.

gruß,
Bjoern

von Benedikt K. (benedikt)


Lesenswert?

Tishima wrote:
> @Benedikt
>
> die Kastration auf 32G hat MS mit XP eingeführt,

Ja, eigentlich spricht ja auch nichts dagegen die vollen 2^32 zu nutzen. 
Damit wären 256EB oder noch mehr möglich. (2^32 x 64k pro Cluster)

von Stud.-Ing. (Gast)


Lesenswert?

Moin,

das ist ja alles sehr interessant, aber nochmal von Verständnis her 
klare und definitive Zahlen (wenn sie denn jemand weis):

FAT16
Anzahl Unterordner max:

FAT32
Anzahl Unterordner max:

Mfg
Stud.-Ing.

von Benedikt K. (benedikt)


Lesenswert?

Stud.-Ing. wrote:

> FAT16
> Anzahl Unterordner max:

65524

> FAT32
> Anzahl Unterordner max:

4,177,920

Allerdings ist die Platte dann voll !

von Stud.-Ing. (Gast)


Lesenswert?

Wenn die Zahlen stimmen wäre das eine echte Hilfe für mich.

Gruß und Danke
Stud.-Ing.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.