Seit vielen Jahren verwende ich das tolle Script „Dokumente vereinen“ von Hans Haesler. Das hat bisher auf allen Betriebssystemen funktioniert. Nun habe ich auf das aktuellste System „Mojave“ aktualisiert und seitdem „spinnt“ das Script. Normalerweise arbeitet das Script die Daten im Ordner von oben nach unten ab – also erst Seite 1, dann Seite 2, dann Seite 3 usw. Nun fängt es aber wahllos mittendrin an und stellt auch die Seiten in einer nicht nachvollziehbaren Reihenfolge zusammen. So kann ich es nicht mehr verwenden.
Ist das jetzt nur bei meinem Rechner so oder tritt das Problem auch bei anderen hier im Forum auf? Hat da jemand vielleicht eine Lösung parat?
Ich bin restlos begeistert. Soooo schnell ist noch nie ein Anliegen von mir bearbeitet und vor allen Dingen erfüllt worden. Das geänderte Script funktioniert nun wieder bestens. Vielen Dank dafür.
bitte sehr. Meinerseits besten Dank fürs Bestätigen, dass es dank dem Sortieren wieder wie erwartet klappt.
Nicht selbstverständlich, weil man mit dem 'getFiles()'-Befehl einen Array von Datei-Objekten zurückbekommt, d.h. eine Liste von kompletten Pfaden. Aber offensichtlich lassen sich auch diese Objekte sortieren.
Na ja, das klappt wohl, weil die File-Objekte automatisch intern in Strings umgewandelt werden und sich die Objekte auf das gleiche Verzeichnis beziehen.Würden tatsächlich Objekte sortiert, wäre die Reihenfolge durch die Speicheradressen bestimmt.Deshalb macht es Sinn, Objekte nach Feldinhalten zu sortieren.Die folgende Routine macht genau das.
Na ja, dass war eigentlich nicht das, was ich rüberbringen wollte.
Kern der Aussage sollte sein, dass das Sortieren der File-Objekte nur deshalb funktionierte.
Besser funktioniert es mit meiner obigen Routine, z. B.:
files.sortThis("name") -> nach Namen files.sortThis("created") -> nach Erstellungsdatum files.sortThis("modified") -> Änderungsdatum files.sortThis("length") -> Größe
usw.
Funktioniert mit jedem Array, das Objekte enthält.
Aber für die vorliegende Aufgabe werden nur die Dateinamen berücksichtigt. Also genügt das einfache 'sort()'.
Es sei denn, die Namen beginnen mit Ordnungszahlen, bei welchen unterlassen wurde, führende Nullen einzufügen. Doch bisher hat noch niemand dieses Problem gemeldet.