2016-03-29 6 views

Antwort

1

Es früh ... dachte, dieses heraus:

'DIR "C:\Jenkins\Releases\C9metro\*.jpg" 
+0

Jetzt markieren Sie es als Antwort. –

1

Ich schlage vor, die folgenden Zeilen zu verwenden:

FOR /F "delims=" %%I IN ('DIR "C:\Jenkins\Releases\C9metro\*.jpg" /A-D /B /O-D /TW 2^>nul') DO (
    SET NewestFile=%%I 
    GOTO FoundFile 
) 
ECHO No *.jpg file found! 
GOTO :EOF 

:FoundFile 
ECHO Newest *.jpg file is: %NewestFile% 

Der Parameter /A-D sorgt dafür, dass Unterverzeichnisse ignoriert werden, die durch Zufall zufällig auch mit der Zeichenfolge .jpg enden.

Der Parameter /B schaltet das leere Format ein, wobei in diesem Fall nur der Dateiname ohne Pfad durch Befehl DIR zurückgegeben wird.

Der Parameter /O-D führt dazu, dass die gefundenen Dateien nach DIR nach Datum in umgekehrter Reihenfolge von neu nach alt aufgelistet werden.

Und der Parameter /TW stellt sicher, dass die letzte Änderungszeit (Schreibzugriff) zum Auflisten der gefundenen JPEG-Dateien in Datumsreihenfolge verwendet wird.

Die Schleife wird bei der ersten gefundenen Datei beendet, die dem Platzhaltermuster *.jpg entspricht, wodurch diese Methode schneller wird als die Zuweisung aller Dateinamen zur Variablen NewestFile bis zur letzten gefundenen Datei.

Verwandte Themen