Forum: PC Hard- und Software Windows (Vista) Sortieralgorithmus


von Johannes M. (johnny-m)


Lesenswert?

Ich beobachte ein sehr befremdliches Verhalten der Windows Explorers 
beim Sortieren von Dateien, welches ich mir nicht wirklich erklären 
kann.

Genauer: Ich besitze einen Camcorder, der lustigerweise die Videoclips 
hexadezimal durchnummeriert (MOV001, MOV002, ..., MOV00A, MOV00B, usw.). 
Wenn ich die Videodateien nun auf den PC übertrage, dann bekomme ich im 
Arbeitsplatzfenster folgende Sortierung (aufsteigend nach Name 
sortiert):
MOV04A
MOV04B
MOV04C
MOV04D
MOV04E
MOV04F
MOV05A
...
MOV05F
MOV06A
...
MOV06F
MOV040
MOV041
MOV042
...
MOV049
MOV050
...
MOV059
MOV060
usw...

Es ist mir absolut schleierhaft, nach welchem Kriterium hier sortiert 
wird. Selbst dann, wenn es ein normaler alfanumerischer Algo sein 
sollte, müssten zumindest alle Dateien, die mit MOV04... anfangen vor 
den Dateien mit MOV05... usw. einsortiert werden.

Was zum Geier macht Windoof da?

Es wäre mir sehr recht, wenn jemand, der sich mit sowas auskennt, mir 
sagen könnte, warum das so ist und - noch besser - was man dagegen tun 
kann.

Gruß

Johnny

von Peter (Gast)


Lesenswert?

Hallo,
das macht auch XP schon. Es ist ein wenig intelligent und versucht zu 
erkennen was Zahlen sind und was Text ist.
Zahlen werden aufsteigend sortiert und Text wird alfanumerisch Sortiert.

Wenn hinter einen Text eine zahl kommt, sortiert er die Zahlen 
aufsteigend.

von Johannes M. (johnny-m)


Lesenswert?

Peter wrote:
> Hallo,
> das macht auch XP schon. Es ist ein wenig intelligent und versucht zu
> erkennen was Zahlen sind und was Text ist.
> Zahlen werden aufsteigend sortiert und Text wird alfanumerisch Sortiert.
>
> Wenn hinter einen Text eine zahl kommt, sortiert er die Zahlen
> aufsteigend.
Schön, aber in diesem Falle kommt die Zahl vor dem Text. Und wenn auf 
die von Dir genannte Weise sortieren würde, dann dürften die Clips mit 
Index 040-049 auch nicht nach denen mit 06A-06F kommen, oder übersehe 
ich da was?

EDIT:
Oder meintest Du, dass er die Dateinamen mit den Indizes xxA-xxF 
automatisch komplett als Text interpretiert (die mit xx0-xx9 aber als 
Zahlen) und dementsprechend komplett nach vorne zieht?

Gibt es da keine Abhilfe? Ein Computer, der kein Hexadezimal kann, ist 
doch wohl ein Witz, oder?

von Peter (Gast)


Lesenswert?

Ich kann auch bloss Raten aber es sieht so aus als ob er Buchstaben 
gefolgt von einer Zahl(Buchstabe-Zahl) vor Buchtabe-Zahl-Buchtstabe 
sortiert. Vermutlich werden nur zahlen am Ende als Zahl sortiert aber 
nicht mittendrin. Duch den letzten Buchtaben kommen 2 Algos zur 
Ausführung.

von yalu (Gast)


Lesenswert?

Es gab schon einmal einen Thread zu diesem Thema:

  Beitrag "Wie sortiert Windows Dateinamen?"

Darin stehen auch einige Links zu MS-Seiten, auf denen die verwendeten
Sortierregeln zumindest ansatzweise erklärt sind. Es wurde allerdings
keine Dokumentation gefunden, auf der die Regeln erschöpfend (also
einschließlich der Behandlung aller Sonderzeichen) beschrieben sind.
Aber vielleicht reichen die Informationen aus, um die Sortierung von
Wörtern aus Buchstaben und Ziffern zu erklären.

Um die Dateinamen der einzelnen Clips im Explorer in der richtigen
Reihenfolge anzuzeigen, müssen die Dateien wohl umbenannt werden. Falls
du zufälligerweise ein paar Unix-Tools (nämlich bash und printf)
installiert hast, bewerkstelligt die Umbenennung der folgende Bash-
Einzeiler:
1
for f in MOV*; do mv $f $(printf VID%04d 0x${f#MOV}); done

Dabei wird bei jeder Datei im aktuellen Verzeichnis, die mit MOV
beginnt, das MOV in VID geändert (damit die Datei nicht versehentlich
zweimal umbenannt wird) und der Teil hinter MOV von hexadezimal in eine
vierstellige Dezimalzahl umgerechnet:

   MOV000 -> VID0000
   MOV040 -> VID0064
   MOV04A -> VID0074
   MOVFFF -> VID4095

Vielleicht kannst du ähnliches auch mit Windows-Bordmitteln hinbekommen
oder ein kleines Programm dafür schreiben.

von Johannes M. (johnny-m)


Lesenswert?

yalu wrote:
> Es gab schon einmal einen Thread zu diesem Thema:
>
>   Beitrag "Wie sortiert Windows Dateinamen?"
Au ja, stimmt, ich erinnere mich an das nette Gespräch zwischen SiMa und 
Sven Pauli. Frage mich grad, warum mir der Thread bei der Suche 
entgangen ist. Möglicherweise falschen Suchbegriff eingegeben...

> Um die Dateinamen der einzelnen Clips im Explorer in der richtigen
> Reihenfolge anzuzeigen, müssen die Dateien wohl umbenannt werden.
Ich habe es befürchtet...

> Falls
> du zufälligerweise ein paar Unix-Tools (nämlich bash und printf)
> installiert hast,
Leider nein.

> Vielleicht kannst du ähnliches auch mit Windows-Bordmitteln hinbekommen
> oder ein kleines Programm dafür schreiben.
Ich werde mich mal dran versuchen. Sollte ja eigentlich kein großes 
Problem darstellen.

Auf jeden Fall besten Dank für die Mühe. Ist mir immer wieder ein 
Vergnügen.

Gruß

Johnny

von STK500-Besitzer (Gast)


Lesenswert?

>Ich habe es befürchtet...

Wie wäre es, die Filme einfach nach Datum zu sortieren?
Zumindest im Explorer sollte es dann "schöner" aussehen, sofern deine 
Kamera auch das Datum mit abspeichert...

Ich habe letztens erst bemerkt, dass Pinnacle Studio auch das Datum und 
die Uhrzeit aus meinem Video (DV-Kamera) übernimmt.

von Johannes M. (johnny-m)


Lesenswert?

STK500-Besitzer wrote:
>>Ich habe es befürchtet...
>
> Wie wäre es, die Filme einfach nach Datum zu sortieren?
> Zumindest im Explorer sollte es dann "schöner" aussehen, sofern deine
> Kamera auch das Datum mit abspeichert...
Aus irgendeinem mir unerfindlichen Grund behält er auch bei einer 
Sortierung nach "Datum" die übergeordnete Sortierung nach "Buchstabe am 
Ende" und "Ziffer am Ende" bei. Auf gut deutsch: Es ändert sich 
gegenüber der normalen alfanumerischen Sortierung gar nichts.

von Roland P. (pram)


Lesenswert?

Man kann die "intelligente" Sortierung aber per Registry abschalten.
http://support.microsoft.com/kb/319827

Gruß
Roland

von Duden (Gast)


Lesenswert?

alphanumerisch? :)

von Johannes M. (johnny-m)


Lesenswert?

Roland Praml wrote:
> Man kann die "intelligente" Sortierung aber per Registry abschalten.
> http://support.microsoft.com/kb/319827
Ah, danke für den Link. Sehr schön. Das hilft mir weiter.

Und ein paar schöne Beispiele für grammatische Sprachmurksereien:-)
> ...Namen wobei Ziffern enthalten
> 401 ist ein numerisch höherer als 6 Wert in diesem Beispiel.

> Bei numerischem Inhalt nicht Text berücksichtigt die neuere...

> Schwerwiegende Probleme können jedoch falsch bei dem Ändern der
> Registrierung auftreten.

> Erhalten Sie Weitere Informationen wie zu dem Sichern und dem
> Wiederherstellen der Registrierung, indem auf die folgende Artikelanzahl
> klickt, um den Artikel der Microsoft Knowledge Base zu lesen:

undsoweiter...

Wow, das ist Winzigweich... Sehr schönes Beispiel für eine automatische 
Übersetzung.

Aber wenigstens steht unten auf der Seite ein Hinweis darauf, dass 
maschinelle Übersetzungen nunmal nicht perfekt sein können...

von P. S. (Gast)


Lesenswert?

Johannes M. wrote:

> Wow, das ist Winzigweich... Sehr schönes Beispiel für eine automatische
> Übersetzung.

Warum benutzt du es, wenn du das alles so daemlich findest?

von Johannes M. (johnny-m)


Lesenswert?

Peter Stegemann wrote:
> Warum benutzt du es, wenn du das alles so daemlich findest?
Ich habe nirgends gesagt, dass ich alles dämlich finde. Dein Kommentar 
ist hier völlig überflüssig, zumal Du nichts zum Thema des Threads 
beiträgst.

Troll Dich!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Wow, das ist Winzigweich... Sehr schönes Beispiel für eine automatische
> Übersetzung.

Glücklicherweise darf man sich auch das Original ansehen:
http://support.microsoft.com/?scid=kb%3Ben-us%3B319827&x=2&y=9

von P. S. (Gast)


Lesenswert?

Johannes M. wrote:

> Ich habe nirgends gesagt, dass ich alles dämlich finde. Dein Kommentar
> ist hier völlig überflüssig, zumal Du nichts zum Thema des Threads
> beiträgst.

Der ganze Thread ist ueberfluessig, die Sortierung ist offensichtlich 
und logisch, nur halt gerade nicht das, was Johannes M. gerade heute 
haben wollte. Aber Hauptsache, man kann ein bisschen ueber Microsoft 
laestern...

von Johannes M. (johnny-m)


Lesenswert?

Peter Stegemann wrote:
> Der ganze Thread ist ueberfluessig, die Sortierung ist offensichtlich
> und logisch, nur halt gerade nicht das, was Johannes M. gerade heute
> haben wollte.
Die Sortierung ist auf den ersten Blick zunächst mal nicht zu 100% 
nachvollziehbar. Und sie war früher anders. Ich wollte im Prinzip 
lediglich wissen, ob und wenn ja, wie man diese Sortierung so einstellen 
kann, dass sie besagte Dateien sinnvoll sortiert, und ich wollte das 
(zweifelsohne vorhandene) Konzept hinter dieser Sortierung verstehen. 
Und das haben yalu und Roland bereits hinreichend beantwortet.

> Aber Hauptsache, man kann ein bisschen ueber Microsoft laestern...
Wenn Du mir sagen kannst, wo ich angeblich über Microsoft im Allgemeinen 
oder im Speziellen gelästert haben soll, dann sag es mir! Ansonsten 
schweige er einfach.

von P. S. (Gast)


Lesenswert?

Johannes M. wrote:

> Wenn Du mir sagen kannst, wo ich angeblich über Microsoft im Allgemeinen
> oder im Speziellen gelästert haben soll, dann sag es mir!

Vieleicht sind das ja deine normalen Umgangsformen:

"Was zum Geier macht Windoof da?"
"Ein Computer, der kein Hexadezimal kann, ist doch wohl ein Witz, oder?"
"Wow, das ist Winzigweich..."

Falls dir das nicht bewusst ist: Du aeusserst dich hier ueber die Arbeit 
anderer Menschen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Falls dir das nicht bewusst ist: Du aeusserst dich hier ueber die Arbeit
> anderer Menschen.

Kritik an der Arbeit anderer Menschen ist allerdings zulässig, und auch 
die Produkte aus dem Hause Microsoft verdienen Kritik. Und zwar 
heftige.

Allerdings in der Tat auf einem anderen Niveau als "Windoof", da hat Du 
mehr als recht.

von Johannes M. (johnny-m)


Lesenswert?

Peter Stegemann wrote:
> "Was zum Geier macht Windoof da?"
OK, der war vielleicht ein bissl hart, allerdings hat sich das in meiner 
Erfahrung in letzter Zeit als Synonym sehr verbreitet und ist in den 
meisten Fällen (wie auch hier) nicht wirklich böse gemeint.

> "Ein Computer, der kein Hexadezimal kann, ist doch wohl ein Witz, oder?"
Ein Computer, der kein Hexadezimal kann, ist ein Witz. Und ich suchte 
nach einer Möglichkeit einer Einstellung, damit er Hexadezimal 
sortiert, mehr nicht. Dieser Satz ist schlicht eine allgemeine 
Feststellung und hat zunächst auch nichts mit Lästern gegen irgendwen 
oder irgendwas zu tun, außer natürlich gegen Computer, die kein 
Hexadezimal können.

> "Wow, das ist Winzigweich..."
Das bezog sich auf die Übersetzung, und ich sehe da kein Lästern!

> Falls dir das nicht bewusst ist: Du aeusserst dich hier ueber die Arbeit
> anderer Menschen.
Jo. Und andere Menschen würden sich genauso über meine Arbeit 
äußern, wenn sie lustige Sachen machen würde (was sie i.d.R. aber nicht 
tut).

Du musst sicher nicht alles, was in diesem Forum (und auch in anderen 
Foren) geschrieben wird, wörtlich und 100%ig ernst nehmen. Vielleicht 
auch mal den Zusammenhang beachten.

Kleiner Tipp: Wenn Du hier im Forum oder auch anderswo Deine Zeit 
sinnvoll nutzen willst, dann tu Dir selbst den Gefallen und analysiere 
nicht alles Geschriebene haarklein. Man kann es wirklich übertreiben!

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.