Per Batch nur neueste Datei mit bestimmten Dateianfang kopieren
Hallo,
ich habe schon einiges gegoogled, allerdings habe ich noch keine 100%ige Lösung für mein Problem gefunden.
Ich habe einen Ordner, in dem sind viele Dateien nach dem Schema aufgebaut:
Datei1-abc
Datei1-cde
Datei1-fgh
Datei2-abc
Datei2-cde
Datei2-fgh
Datei2-...
Datei3-abc
Datei3-cde
...
Ich habe schon herausgefunden, wie ich die aktuellste Datei herausfinde:
Allerdings möchte ich, dass die aktuellste Datei mit Dateianfang "Datei2" z.B. ausgegeben wird.
Also ich glaube ich muss den code oben nur etwas erweitern, dass eben dieser sich nur auf einen bestimmten Dateinamen-Anfang beziehen soll, hier z.B. "Datei2". Hat jemand eine Idee?
Danke und Gruß
Peter
ich habe schon einiges gegoogled, allerdings habe ich noch keine 100%ige Lösung für mein Problem gefunden.
Ich habe einen Ordner, in dem sind viele Dateien nach dem Schema aufgebaut:
Datei1-abc
Datei1-cde
Datei1-fgh
Datei2-abc
Datei2-cde
Datei2-fgh
Datei2-...
Datei3-abc
Datei3-cde
...
Ich habe schon herausgefunden, wie ich die aktuellste Datei herausfinde:
@echo off &setlocal
pushd "D:\Neuer Ordner" ||goto :eof
for /f "delims=" %%a in ('dir /a-d /b /od *.*') do set "newestFile=%%a"
copy "%newestFile%" "D:\NeuerOrdner2\%newestFile%"
popd
Allerdings möchte ich, dass die aktuellste Datei mit Dateianfang "Datei2" z.B. ausgegeben wird.
Also ich glaube ich muss den code oben nur etwas erweitern, dass eben dieser sich nur auf einen bestimmten Dateinamen-Anfang beziehen soll, hier z.B. "Datei2". Hat jemand eine Idee?
Danke und Gruß
Peter
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 313950
Url: https://administrator.de/forum/per-batch-nur-neueste-datei-mit-bestimmten-dateianfang-kopieren-313950.html
Ausgedruckt am: 18.04.2025 um 08:04 Uhr
3 Kommentare
Neuester Kommentar

@Kraemer : This is the "Google-Generation" , what do you expect from them ... 
Regards
ich habe schon einiges gegoogled, allerdings habe ich noch keine 100%ige Lösung für mein Problem gefunden.
nothing but searching, instead of RTFM ...for /f "delims=" %%a in ('dir /a-d /b /od "Datei2*"') do set "newestFile=%%a"
Regards
Hallo,
Das ist eher Zufall bei dir...
Wenn du nun andere kriterien benötigst musst du schauen ob du die Liste im Vorfeld schon eingrenzen kannst. Dein *.* ist weder nützlich noch hilfreich noch wird es benöltigt (Ein Dir geht auch ohne *.*). Versuche mal anstelle von *.* ein Datei2*.
Gruß,
Peter
Das ist eher Zufall bei dir...
for /f "delims=" %%a in ('dir /a-d /b /od *.*') do set "newestFile=%%a"
Es wird eine Sortierte Liste ausgegeben nach datum absteigebnd Sortiert. Da deine For Schleife immer mit NewestFile=%%a endet wird jedesmal der gefundene Eintrag deiner Dir liste eingetragen. Zufälligerweise (Schalter /od) ist der letzte gefundene Eintrag der neueste....Wenn du nun andere kriterien benötigst musst du schauen ob du die Liste im Vorfeld schon eingrenzen kannst. Dein *.* ist weder nützlich noch hilfreich noch wird es benöltigt (Ein Dir geht auch ohne *.*). Versuche mal anstelle von *.* ein Datei2*.
Allerdings möchte ich, dass die aktuellste Datei mit Dateianfang "Datei2" z.B. ausgegeben wird.
Dann lass dein Dir doch danach filtern....Gruß,
Peter