geben Sie die Sortierreihenfolge in "copy /b *.dat foo" in Windows cmd ein

Normalerweise, wenn ich ein copy /b *.data foo in Windows cmd mache, werden die *.data Dateien in der sortierten Reihenfolge in die Zieldatei foo kateniert. Dies entspricht meinem gewünschten Verhalten.

Ich habe jedoch gerade ein merkwürdiges Verzeichnis getroffen, in das dieser Befehl copy /b die Dateien nicht in der richtigen Reihenfolge kopiert. Die Reihenfolge ist nicht gerade zufällig, aber die vorletzte Datei in der sortierten Reihenfolge wird zuerst angezeigt, gefolgt von den verbleibenden Dateien in sortierter Reihenfolge.

Gibt es eine Möglichkeit, diese seltsame Sortierung zu überwinden verhalten? Was ist im Allgemeinen, wenn ich die Dateien beispielsweise in umgekehrter Reihenfolge kopieren möchte?

Author: Der Hochstapler, 2010-12-02

1 answers

Dadurch werden die Dateien (sogar die mit Leerzeichen) in umgekehrter Reihenfolge verkettet:

C:\> for /f "tokens=*" %i in ('dir /a-d /o-n /b c:\some_dir\*') do @type %i >> c:\another_dir\dest.dat

Wenn es nur wenige Dateien gibt, können Sie diese explizit auflisten:

C:\> copy /b c.dat+a.dat+b.dat dest.dat

So etwas könnte in einigen Situationen funktionieren:

C:\> copy /b file*.dat+foo.dat+bar*.dat dest.dat
 2
Author: Dennis Williamson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-05-23 11:33:49