Tom: Dateien nach Dateityp sortieren

Beitrag lesen

Hello,

Wenn man damit nach der Dateiendung sortiert, sind die Dateinamen ja innerhalb der jeweiligen Endung nicht mehr alphabetisch sortiert. Hast du dafür noch einen Tipp?

Das höchstwertigste Sortierglied muss vorne stehen, also links, wenn man, wie üblich, die Wertigkeit von links nach rechts auswertet.

usort() benötigst Du also nicht, wenn Du dem erhaltenen Array ein zusätzliches Element hinzufügst.

dateiname          sortierbegriff

picture.mpg        mpg.picture
   text.txt           txt.text

oder Du machst es "vernünftig" und atomarisierst die Anteile. Dann benötigst Du aber später wieder Funktionen, wie usort(), u, die erhaltene Struktur zu sortieren.

Das würde aber auf jeden Fall bedeuten, dass Du gleich beim Scannen des Directorys beide Elemente erzeugst.

while <dateiname gefunden>

dateiname ins Array einfügen
      dateiname aufspalten
      Extensionanteil + Namensanteil ins Array einfügen

endwhile

Array über die Elemente <Extensionanteil + Namensanteil> sortieren

Array-Elemente <dateiname> nach der Sortierung in <Extensionanteil + Namensanteil> ausgeben.

Und ja, sowas geht am besten mit einem "Spaltenarray", also einer Struktur, in der die einzelnen Spalten über ihren Index korrespondieren.

Such mal im Forum danach. Da gibt es schon genügend "Anregung" dazu :-)

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de