Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   FAT32 = 21.844 Dateien pro Verzeichnis? (https://www.delphipraxis.net/171799-fat32-%3D-21-844-dateien-pro-verzeichnis.html)

Angel4585 26. Nov 2012 08:17

FAT32 = 21.844 Dateien pro Verzeichnis?
 
Guten Tag!

Laut Microsoft und Wikipedia gilt für FAT32 die Grenze von 65535 Dateien pro Verzeichnis.
Nun habe ich eine Externe Festplatte in der in einem Unterverzeichnis genau 21.844 Dateien sind.
Auch von Hand lässt sich jetzt jedoch keine zusätzliche Datei anlegen.

Ich hab schon gegoogelt und das einzige was ich herausfinden konnte war, dass es irgendwie mit der Clustergröße zusammenhängen könnte.

Kann mir jemand von euch helfen bzw. erklären warum ich auf dieser externen Festplatte nur 21.844 Dateien in einen Ordner bekomme?
Hab auch mal eine Datei gelöscht und ne neue angelegt, das geht dann. Rechteproblem sollte es also nicht sein.
:gruebel:

Morphie 26. Nov 2012 08:31

AW: FAT32 = 21.844 Dateien pro Verzeichnis?
 
Wie groß ist denn deine Clustergröße? (chkdsk ausführen, da wird es als "Bytes in jeder Zuordnungseinheit" angezeigt)
Ist die Festplatte voll?
Kannst du nur in diesem einen Unterordner keine weiteren Dateien anlegen, oder auch in anderen Ordnern auf der Festplatte?
Gibt Windows keine vernünftige Fehlermeldung aus?
Wie viel Speicherplatz ist denn schon belegt?
Zitat:

Es können maximal 2^28 Dateien abgelegt werden; da jede Datei mindestens einen Cluster belegt, beschränkt die maximale Anzahl der Cluster die maximale Anzahl Dateien.

Neutral General 26. Nov 2012 09:07

AW: FAT32 = 21.844 Dateien pro Verzeichnis?
 
Wenn einige Dateien mehr als 1 Cluster belegen, dann sind es am Ende natürlich weniger Dateien die in einen Ordner passen. (Wobei ich hoffe dass ich grad keinen Unsinn erzähle)

Angel4585 26. Nov 2012 09:30

AW: FAT32 = 21.844 Dateien pro Verzeichnis?
 
Also in anderen Ordnern kann ich Dateien anlegen.
Die Festplatte ist nicht voll, sind noch gut 90 GB von insgesamt 500 GB frei.
Die Dateien haben ne Größe von vllt 10 KB.
Clustergröße laut chkdsk ist 32K ( :shock: )
Die Fehlermeldung lautet folgendermaßen:
Code:
---------------------------
Die Datei kann nicht erstellt werden.
---------------------------
Die Datei "Neu Textdokument.txt" konnte nicht erstellt werden.

Das Verzeichnis oder die Datei kann nicht erstellt werden.

---------------------------
OK  
---------------------------
Edit: Sind es denn 65.535 Dateien pro Ordner oder 65.535 Cluster pro Ordner?
Edit2: Schneller als ChkDsk ist übrigens das anlegen einer leeren Datei, dann mit einem Byte füllen und unter Eigenschaften die tatsächliche Größe auf dem Datenträger auslesen.
Edit3: Hab nochmal geschaut, keine der Dateien ist größer als 11K. Also selbst wenn es 65.535 Cluster pro Ordner wären, sollten mehr reinpassen

himitsu 26. Nov 2012 09:39

AW: FAT32 = 21.844 Dateien pro Verzeichnis?
 
Welches Verzeichnis?

War bei FAT32 auch noch die Größe des Rootverzeichnisses festgelegt?
Bei FAT12/16 wurde (wenn ich mich nicht täusche) die (maximale) Größe des Rootverzeichnisses beim Formatieren festgelegt und ließ sich nachträglich nicht mehr verändern.
(genauso wie man sagen konnte wieviele FATs man haben möcher und wie groß ein Cluster sein soll)



Muß es denn unbedingt FAT sein?
Wie wäre es mit exFAT oder NTFS? (bei NTFS eventuell alle Rechte entfernen und stattdessen "jeder" mit Vollzugriff)


Wenn das maximal 65535 Dateieinträge pro Verzeichnis sind, dann kann das schon hinkommen.
  • ein Eintrag = ein 8.3-Dateiname
  • für "lange Dateinamen" werden weitere Einträge pro Datei benötigt

Angel4585 26. Nov 2012 09:53

AW: FAT32 = 21.844 Dateien pro Verzeichnis?
 
Ja ich werde das Dateisystem umstellen auf NTFS.

Kann das echt an den Dateinamen liegen? Die haben alle 16.1 Zeichen.

himitsu 26. Nov 2012 10:00

AW: FAT32 = 21.844 Dateien pro Verzeichnis?
 
:rechne:
:rechne:
:rechne:
:gruebel:

Jupp.

18 Zeichen pro langem Dateinamen =
Delphi-Quellcode:
(1{Self} + 21844) * (1{8.3} + 2{Long}) = 65535
(paßt auf's Byte genau)

Jeder Eintrag ist 32 Byte groß, also 16 Unicodezeichen pro Eintrag für einen Bruchteil des langen Dateinamen, aber jeweils abzüglich ein paar Verwaltungsbytes, denn die LongFileName-Einträge müssen sich an ein paar grunzsätzliche Formate der 8.3-Einträge halten, damit es kompatibel bleibt, mit "alten" FAT32-Treibern.

Popov 26. Nov 2012 10:03

AW: FAT32 = 21.844 Dateien pro Verzeichnis?
 
Vermutlich nicht das Problem, aber ich werfe mal einen weiteren Punkt ins Spiel: die Länge des Dateinamens und des gesamten Pfades.

Denn wenn de Pfad unheimlich lang ist, gibt es dann Probleme eine Datei anzulegen. Das sonderbare ist, dass andere Programme diese Probleme wiederum nicht haben, Explorer aber schon.

himitsu 26. Nov 2012 10:12

AW: FAT32 = 21.844 Dateien pro Verzeichnis?
 
Zitat:

Zitat von Popov (Beitrag 1192949)
Vermutlich nicht das Problem, aber ich werfe mal einen weiteren Punkt ins Spiel: die Länge des Dateinamens und des gesamten Pfades.

Da hier alle Dateien die selbe Länge hat, sollte es keinen Unterschied zwischen einer existierenden Datei und einer "neuen" (zuvielen) Datei geben.
Also stimmt, sollte hier kein Problem bereiten.

256 Chars pro Pfad, also 260 aka MAX_PATH inkl. Laufwerk ("X:\") und abschließende #0
oder 64 KB via UNC.

Der Explorer nimmt standardmäßig nicht UNC und dann kommt's drauf an, ob ein Programm einen absoluten Pfad benutzt oder von sonstwo einen Relativen.
PS: Beim Verschieben (innerhalb der Partition) sind die Untergeordneten Dateien/Pfade exal, womit man solche zulangen Pfade zumindestens löschen, verschieben oder drauf zugreifen kann indem man einen langen Pfadnamen umbenennt oder ein Unterverzeichnis verschiebt (ein paar Ebenen rauf).

Luckie 26. Nov 2012 21:03

AW: FAT32 = 21.844 Dateien pro Verzeichnis?
 
Ähm, stellt sich auch die Frage, ob es Sinn macht so viele Dateien in einem Verzeichnis zu haben. Wer will denn da noch was finden?


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz