
Ich frage mich nur, wie Windows die Dateireihenfolge bestimmt, wenn ein dir
Befehl (ohne Argumente) in einer Eingabeaufforderung ausgeführt wird.
Ich weiß, dass Sie eine Reihenfolge explizit angeben können, bin aber neugierig, wie die Sortierung funktioniert, wenn keine Parameter verwendet werden.
Der Grund dafür ist, dass ich eine Stereoanlage habe, die Songs von einem USB-Laufwerk lesen kann, und sie scheint Songs in derselben Reihenfolge abzuspielen, wie sie angezeigt wird, wenn ich einen dir
Befehl in einer Windows XP-Eingabeaufforderung ausführe. Wenn ich herausfinden kann, wie die Reihenfolge in einem Standardbefehl funktioniert dir
, kann ich möglicherweise die Wiedergabereihenfolge der Songs auf der Stereoanlage steuern, indem ich bestimmte Attribute der Dateien ändere.
Antwort1
dir
(ohne Argumente) Der Befehl zeigt Dateien/Verzeichnisse immer unsortiert an, d. h. in derselben Reihenfolge, in der sie sich auf der Festplatte befinden. Das NTFS-Dateisystem „sortiert“ Dateien/Verzeichnisse intern (vereinfachend).
Sie können die Dateien auch einzeln kopieren, um die gewünschte Sortierung auf Ihrem Player zu erreichen.
Antwort2
Die Reihenfolge ist "undefiniert", siehe unten. Aber das istein XY-Problemweil es viele Werkzeuge gibt, die für Ihren eigentlichen Sortierzweck gemacht sind
- mp3DirSorter
- YAFS: Noch ein FAT-Sortierer
- FAT-Leser
- FAT-32-Sortierer
- FAT-Sortierer
- Sortieren von MP3-Dateien auf dem MP3-Player
- https://github.com/maxpat78/FATtools
- https://svnpenn.github.io/rosso/
- Wie kann ich die Dateien eines FAT32-Dateisystems neu anordnen?
EntsprechendMicrosoft- dir
Dokumentation(Hervorhebung von mir)
/o [[:]SortOrder]
: Steuert die Reihenfolge, in derdir
Verzeichnisnamen und Dateinamen sortiert und angezeigt werden.Wenn Sie weglassen/o
,dir
werden die Namen in der Reihenfolge angezeigt, in der sie im Verzeichnis vorkommen. Wenn Sie/o
ohne Angabe von verwendenSortOrder
,dir
werden die Namen der Verzeichnisse alphabetisch sortiert und anschließend die Namen der Dateien alphabetisch sortiert angezeigt. Der Doppelpunkt (:
) ist optional.
DerReihenfolge, in der Dateien in einem Verzeichnis vorkommenhängt vom Dateisystem und der Art und Weise ab, wie Dateilisten in einem Verzeichniseintrag gespeichert werden:
- InFAT12/16/32Die Dateizuordnungstabelle ist nur eine einfachelinearListe und wenn eine neue Datei erstellt wird, wird sie einfach in einen leeren Platz in der Liste eingefügt. Daher variiert die Listenreihenfolge je nach Erstellungs- und Löschstatus. Das erklärt, warum MP3-Player oft in der Reihenfolge abspielen, in der Sie Dateien in den Ordner kopieren
- InNTFSVerzeichniseinträge werden gespeichert in einemB-Baum-Struktur, das Ergebnis wird also einfast sortierte Liste
Mehr zuRaymond Chens Blog:In welcher Reihenfolge ordnet der DIR
Befehl die Dateien an, wenn keine Sortierreihenfolge angegeben ist?
Wenn Sie keine Sortierreihenfolge angeben, dann
DIR
Der Befehl listet die Dateien in der Reihenfolge auf, in der sie von derFindFirstFile
Funktion zurückgegeben werden..Ähm, okay, aber das bringt die Frage nur auf die nächste Ebene: In welcher Reihenfolge werden
FindFirstFile
Dateien zurückgegeben?Die Reihenfolge, in der
FindFirstFile
Dateien zurückgegeben werden, ist nicht angegeben.Es bleibt dem Dateisystemtreiber überlassen, die Dateien in der Reihenfolge zurückzugeben, die er für am praktischsten hält.
Sie können die Dateien manuell sortieren, indem Sie sie in der gewünschten Reihenfolge in ein anderes Verzeichnis verschieben
Wenn das Speichermedium ein FAT-formatierter USB-Stick ist, werden die Dateien in einer komplexen Reihenfolge aufgelistet, die auf der Reihenfolge basiert, in der die Dateien erstellt und gelöscht werden, und auf der Länge ihrer Namen. Der einfache Ausweg besteht jedoch darin, einfach alle Dateien aus einem Verzeichnis zu entfernen und die Dateien dann in der Reihenfolge, in der sie aufgelistet werden sollen, in das Verzeichnis zu verschieben. Auf diese Weise ist der erste verfügbare Steckplatz der am Ende des Verzeichnisses, sodass der Dateieintrag angehängt wird.
Siehe auchIn welcher Reihenfolge kopiert der Befehl COPY Dateien von der Quelle zum Ziel?:
Die Befehle
COPY
,DEL
,DIR
,FOR
, usw. sortieren Dateinamen vor der Verarbeitung nicht nach einem Platzhaltermuster.DIR
verfügt über die Option/O
, je nach nächstem Zeichen eine geordnete Ausgabe anzufordern.