mikrocontroller.net

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


Autor: Stud.-Ing. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tishima (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stud.-Ing. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tishima (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stud.-Ing. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tishima (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tishima (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Stud.-Ing. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 2hoch24 wenn ich mich nicht irre.
2hoch28

Weiß denn jemand die Antwort zu meiner Frage?

Gruß,
Stud.-Ing.

Autor: Tishima (Gast)
Datum:

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

gruß,
Bjoern

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Stud.-Ing. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tishima (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tishima (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwas ist hier faul

FAT32 laut Wiki 2^28 max Files

laut MS  4,177,920 max Files


hmmm, komisch

Autor: Stud.-Ing. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Uhu Uhuhu (uhu)
Datum:

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

Autor: Tishima (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Stud.-Ing. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stud.-Ing. wrote:

> FAT16
> Anzahl Unterordner max:

65524

> FAT32
> Anzahl Unterordner max:

4,177,920

Allerdings ist die Platte dann voll !

Autor: Stud.-Ing. (Gast)
Datum:

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

Gruß und Danke
Stud.-Ing.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.