Batch vergleiche Dateien mit Zeitstempel
Hallo,
ich möchte mit einer batch in einem Ordner Dateien mit einem Zeitstempel suchen, vergleichen, kopieren und löschen.
Möglichkeiten: es gibt keine Datei mit Zeitstempel oder 1, 2, ...
Dateinamen:
Test_MMTT_HHMMSS
Hier ein Beispiel.
Es gibt 4 Dateien mit den Namen:
Test_0311_141322
Test_0311_161530
Test_0312_040309
Test_0401_124759
Nun soll die aktuellste Datei (Test_0401_124759) kopiert werden (Test_aktuell) und danach alle 4 Dateien löschen.
Gruß
Streuner1
ich möchte mit einer batch in einem Ordner Dateien mit einem Zeitstempel suchen, vergleichen, kopieren und löschen.
Möglichkeiten: es gibt keine Datei mit Zeitstempel oder 1, 2, ...
Dateinamen:
Test_MMTT_HHMMSS
Hier ein Beispiel.
Es gibt 4 Dateien mit den Namen:
Test_0311_141322
Test_0311_161530
Test_0312_040309
Test_0401_124759
Nun soll die aktuellste Datei (Test_0401_124759) kopiert werden (Test_aktuell) und danach alle 4 Dateien löschen.
Gruß
Streuner1
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 300095
Url: https://administrator.de/forum/batch-vergleiche-dateien-mit-zeitstempel-300095.html
Ausgedruckt am: 14.04.2025 um 01:04 Uhr
5 Kommentare
Neuester Kommentar
Hallo Streuner1 und willkommen im Forum!
Schematisch als Batch etwa so:
Da Du nicht angibst, in welchen Ordner die neueste Datei als "Test_aktuell" kopiert werden soll, wird diese im gleichen Ordner (siehe Zeile 2) wie die Ausgangadateien erstellt; zu beachten ist, dass ihr Name nicht dem Namensschema der anderen Dateien (siehe Zeile 3) entsprechen darf, da sie ansonsten ebenfalls gelöscht würde ...
Solange die beiden
Grüße
bastla
Schematisch als Batch etwa so:
@echo off & setlocal
set "Ordner=D:\Dein Ordner"
set "Dateien=Test_*_*"
set "Ziel=Test_aktuell"
set "Neueste="
for /f "delims=" %%i in ('dir /b /on /a-d "%Ordner%\%Dateien%" 2^>nul') do set "Neueste=%%i"
echo copy "%Ordner%\%Neueste%" "%Ordner%\%Ziel%" && echo del "%Ordner%\%Dateien%"
pause
Solange die beiden
echo
in der Zeile 8 stehen, werden der Kopier- bzw Lösch-Befehl nur angezeigt, aber noch nicht ausgeführt - wenn alles ok aussieht kannst Du diese echo
(und auch die Zeile 9) löschen und damit den Batch "scharf schalten" .Grüße
bastla