bengun
Goto Top

Die aktuellsten 10 Dateien (.jpg) aus einem Ordner in einer Textdatei auflisten via Batch

Hallo,

habe nun bereits die gesamte Administrator.de Seite durchsucht um eine Lösung für folgendes zu bekommen. Leider erfolglos.

Ziel ist es aus einem Ordner mit u.U. mehr als 5000 JPG Dateien die letzten 10 Dateien in einer Textdatei aufzulisten. Die Auflistung sollte in einer Zeile pro Datei mit vollständiger Pfadangabe erfolgen. Die jüngste Datei am Schluß (die Älteste der 10 dateien am Anfang). Eventuell kann die Anzahl von 10 noch variieren.

Also so ungefähr sollte es in dieser Textdatei aufgelistet werden:

c:\temp\01.jpg
c:\temp\02.jpg
c:\temp\03.jpg
c:\temp\04.jpg
c:\temp\05.jpg
c:\temp\06.jpg
c:\temp\07.jpg
c:\temp\08.jpg
c:\temp\09.jpg
c:\temp\10.jpg

Wie ließe sich das mit einer Batch realisieren?

Danke für eure Hilfe!
Grüße
bengun

Content-ID: 242852

Url: https://administrator.de/contentid/242852

Ausgedruckt am: 21.11.2024 um 23:11 Uhr

bastla
Lösung bastla 06.07.2014 aktualisiert um 18:43:58 Uhr
Goto Top
Hallo bengun!

Etwa so:
@echo off & setlocal
set "Ordner=c:\temp"  
set "Typ=jpg"  
set "Liste=c:\temp\latest10.txt"  
set /a Anzahl=10

set "TempListe=%temp%\jpg.tmp"  
del "%TempListe%" 2>nul  
del "%Liste%" 2>nul  

for /f "tokens=1* delims=:" %%i in ('dir /b/o-d "%Ordner%\*.%Typ%"^|findstr /ie ".%Typ%"^|findstr /n "^"') do if %%i leq %Anzahl% >>"%TempListe%" echo %%i:%Ordner%\%%j  
for /L %%a in (%Anzahl%,-1,1) do for /f "tokens=1* delims=:" %%i in ('findstr /b "%%a:" "%TempListe%"') do >>"%Liste%" echo %%j  
Grüße
bastla
bengun
bengun 06.07.2014 um 18:43:35 Uhr
Goto Top
Hallo bastla,

gerade ausprobiert und es hat funktioniert! Super! Vielen vielen Dank : )

Einen schönen Sonntagabend!

Grüße
bengun