Wie bekomme ich Dateien mit "dir" nach Namen geordnet?

464
Alex

Das war in den alten Betriebssystemen wirklich einfach.

dir /o:n >> list.txt for %a in (`list.txt`) do copy %a ..\ordered 

Und voila, da war die Liste der Dateien im anderen Ordner, die in der sortierten Reihenfolge erstellt wurden. Auf diese Weise dir ..\orderedwürden die Dateien in der Reihenfolge ihrer Dateinamen angezeigt, wenn ich regelmäßig bin .

Dies funktioniert in den neuen Systemen nicht mehr. Wenn ich den obigen dir ..\orderedBefehl ausführte, werden die Dateien in derselben Reihenfolge angezeigt, in der sie sich im ursprünglichen Ordner befanden.

Ich habe versucht, auf ein anderes Laufwerk zu kopieren. Die Dateien wurden einzeln mit einem Skript in alphabetischer Reihenfolge kopiert. Ich habe sogar Pausen zwischen den Kopien eingefügt, um sicherzustellen, dass eine Art Zwischenspeicherung sie nicht dazu veranlasst hat, auf Diskette zu schreiben. Wenn ich jedoch einen dirBefehl mache, werden sie erneut außer Betrieb - diesmal in einer anderen Reihenfolge als im ursprünglichen Verzeichnis. Das mehrmalige Kopieren auf dasselbe Laufwerk scheint jedoch in derselben Reihenfolge auf diesem Laufwerk zu erfolgen.

Ich habe nach den Attributen gesucht, auf denen die Sortierreihenfolge dirbasiert, um zu sehen, ob ich diese Attribute bearbeiten kann. Ich habe die folgenden Attribute geprüft

Date Date Accessed Date Created Date Last Saved Date Modified 

Die Sortierung nach diesen Attributen ergab nie dieselbe Reihenfolge wie der dirBefehl.

Wie kann ich dieses Verhalten überschreiben und beim Ausführen eine benutzerdefinierte Reihenfolge erhalten dir?

1
In vielen Linux-Shells kann ein Alias ​​definiert werden, um einen gewünschten Parameter einzufügen (wie "/ o: n", "-on" oder was auch immer). oder eine Funktion. In Linux kann man "ls" mit benutzerdefiniertem Skript oder Programm überschreiben. Ich weiß nicht, wie glücklich Sie in diesem Thema mit Windows sind. Vielleicht finden Sie hier eine Lösung: [* Aliase in der Windows-Eingabeaufforderung *] (https://stackoverflow.com/q/20530996). Kamil Maciorowski vor 6 Jahren 0
Nein, ich kann die Listenreihenfolge unter Windows definitiv überschreiben. Das Problem ist, dass ich diese Dateien dann auf einen MP3-Player kopiere, und die Reihenfolge, in der sie dort angezeigt werden, ist genau die Reihenfolge, in der sie in der * nicht überschriebenen * `dir`-Funktion angezeigt werden. Der MP3-Player ist dessen Reihenfolge, die ich nicht überschreiben kann. Alex vor 6 Jahren 0
Hinweis: [XY-Problem] (https://meta.stackexchange.com/a/66378/355310). Kamil Maciorowski vor 6 Jahren 0
Welches Dateisystem? Könnte es sein, dass "es früher einfach war", weil Sie früher mit defragmentierten Dateisystemen gearbeitet haben? Lesen Sie [this] (https://blogs.msdn.microsoft.com/oldnewthing/20140304-00/?p=1603). Kamil Maciorowski vor 6 Jahren 1
@ KamilMaciorowski Ich habe es sofort als XY-Problem erkannt; In diesem Fall können Sie jedoch unabhängig von der erfolgreichen Lösung den Erfolg überprüfen, indem Sie die `dir`-Funktion ausführen und prüfen, ob die Dateien in der richtigen Reihenfolge sind. Ich sehe also keinen Nachteil darin, es so zu fragen. Alex vor 6 Jahren 0
@KamilMaciorowski Das Abbauen des USB-Players hat die "alte" Methode zum Funktionieren gebracht, danke! Fühlen Sie sich frei, dies als Antwort zu posten. Alex vor 6 Jahren 0
Ich gehe vorbei, damit Sie Ihre eigene Frage beantworten können, ohne Kredit zu stehlen. Kamil Maciorowski vor 6 Jahren 0
Ich habe vor, es irgendwann zu tun, wenn es sonst niemand tut. In der Zwischenzeit möchte ich jedoch sagen, dass letztendlich die Anzeigereihenfolge mit der Reihenfolge auf der Festplatte korreliert war. Meine allgemeine Strategie endete also: Schreiben Sie eine große Datei, damit das System freien zusammenhängenden Speicherplatz findet. dann löschen Sie diese Datei und schreiben Sie stattdessen meine Dateien in alphabetischer Reihenfolge. Da das System bereits in der Lage ist, die große Datei zurückzugewinnen, sucht es nicht nach kleineren Lücken, die auf einige der kleineren Dateien passen, und daher enden alle Dateien in alphabetischer Reihenfolge. Alex vor 6 Jahren 0
Siehe [diesen Kommentar] (https://superuser.com/q/1321460/432690#comment1969830_1321460). Kamil Maciorowski vor 6 Jahren 0

0 Antworten auf die Frage