Dateien in numerischer Reihenfolge sortieren

544
ahmelq

Ich habe mehrere Tiff-Bilder von 1 bis 246 geordnet. Ich habe sie mit Imagemagick in eine PDF-Datei konvertiert convert *.tif out.pdf. Die Reihenfolge der Seiten in der PDF-Datei ist jedoch unterschiedlich. (z. B. Seite 2 ist Bild 10 usw.). Wenn ich laufe diroder lsich ungeordnete Dateien wie folgen aus :

21/06/2018 16:15 <DIR> . 21/06/2018 16:15 <DIR> .. 21/06/2018 15:51 2.056 1.tif 21/06/2018 15:51 98.710 10.tif 21/06/2018 15:51 96.492 100.tif 21/06/2018 15:51 44.064 101.tif 21/06/2018 15:51 70.960 102.tif 21/06/2018 15:51 85.254 103.tif 21/06/2018 15:51 92.750 104.tif 21/06/2018 15:51 87.672 105.tif 21/06/2018 15:51 90.284 106.tif 21/06/2018 15:51 79.532 107.tif 21/06/2018 15:51 85.956 108.tif 21/06/2018 15:51 22.452 109.tif 21/06/2018 15:51 91.796 11.tif (...) 

Was ich möchte:

21/06/2018 16:15 <DIR> . 21/06/2018 16:15 <DIR> .. 21/06/2018 15:51 2.056 1.tif 21/06/2018 15:51 98.710 2.tif 21/06/2018 15:51 96.492 3.tif 21/06/2018 15:51 44.064 4.tif 21/06/2018 15:51 70.960 5.tif 21/06/2018 15:51 85.254 6.tif 21/06/2018 15:51 92.750 7.tif 21/06/2018 15:51 87.672 8.tif 21/06/2018 15:51 90.284 9.tif 21/06/2018 15:51 98.710 10.tif 21/06/2018 15:51 91.796 11.tif (...) 

Wie kann ich die Dateien in numerischer Reihenfolge sortieren?

0
Sie sind * in alphabetischer Reihenfolge. Sie wollen sie in numerischer Reihenfolge. TRiG vor 5 Jahren 1
@TRiG Ja, wie kann ich das machen? ahmelq vor 5 Jahren 0
Keine Ahnung, da ich kein Windows benutze. Sie können Ihre Frage jedoch bearbeiten, um die richtige Frage zu stellen. TRiG vor 5 Jahren 0
Sie müssen Dateien in einen dreistelligen Namen umbenennen. "1.tif" wäre beispielsweise "001.tif". In diesem Fall sind die Dateien automatisch in Ordnung. Sandeep vor 5 Jahren 0
Es gibt eine Antwort, aber es wird Freeware verwendet: [TCC / LE] (https://jpsoft.com/products/tcc-le.html) ist ein verbesserter Ersatz für `cmd`. Es gibt viele Verbesserungen. Eine davon ist, dass das 'dir' standardmäßig in der von Ihnen gewünschten Reihenfolge sortiert wird. Ich verwende es immer dann, wenn ich unter Windows arbeite, und es implementiert viele der Funktionen einer Linux-Shell, jedoch entsprechend der `cmd'-Syntax. AFH vor 5 Jahren 0
@AFH Sie hatten Recht, der Windows-Sortierbefehl wird nicht wie erwartet sortiert und meine kleine Beispiel-Teilmenge der ursprünglich verwendeten Dateien reichte nicht aus, sobald ich ein `~ 2.txt` und ein` ~ 15.txt` hinzugefügt habe war alles aus dem Gleichgewicht ... ha Pimp Juice IT vor 5 Jahren 0
Eine weitere Option ist die Verwendung von @ Sandeeps Technik. Vermeiden Sie jedoch die Nachbearbeitung, indem Sie ImageMagick dazu veranlassen, Dateien ab '101.tif' zu erstellen, wobei die alphabetische und numerische Sortierung identisch ist (bis zu '999.tif') Dateien). Mit welchem ​​Befehl haben Sie Ihre Dateien erstellt? AFH vor 5 Jahren 0

2 Antworten auf die Frage

3
Gerard H. Pille

Interessieren Sie sich für eine Powershell? Wie zB:

$D = get-childitem $B = foreach ($F in $D) { "" -f $F.Name } $B | sort 

produzieren:

PS C:\temp\test> c:\temp\numdir.ps1 1.txt 2.txt 10.txt 100.txt 
3
Sandeep

Verwenden Sie die folgende Batchdatei, um die Dateien in einen dreistelligen Namen umzubenennen. Dann können Sie die Standard-Sortierreihenfolge von Fenstern verwenden, um Ihre PDF-Datei zu korrigieren.

@echo off setlocal enableextensions enabledelayedexpansion for %%f in (*.tif) do ( set FileName=%%~nf set FileName=00!FileName! set FileName=!FileName:~-3! set FileName=!FileName!%%~xf ren "%%f" "!FileName!" ) 

Bei der Ausführung der obigen Batchdatei würde der Dateiname in geändert 001.tif, 002.tif, 020.tif... etc. imagemagickverwendet die Standardsortierreihenfolge und erstellt eine korrekte PDF-Datei.