Batch aktuellsten Ordner kopieren
Hallo @ all
Problembeschreibung
Ich habe einen Ordner, in welchem alle Daten in ojektbezogenen Unterordnern abgespeichert sind. (D:\Data_all )
Nun möchte ich NUR den aktuellsten Ordner ( Datum und Uhrzeit, da mehrere Ordner por Tag angelegt werden können )
in einen anderen Ordner ( D:\Aktuell ) kopieren.
Wenn also zum Beispiel in "D:\Data_all" der Unterordner 10 ( D:\Data_all\10 ) der neuest angelegte ist, so
möchte ich diesen mit allen beinhalteten Dateien nach D:\Aktuell kopieren ---> D:\Aktuell\10
Mit meinem laienhaften Versuch ( und viiiiieeeeele anderen Versuchen ), beisse ich permanent auf Granit:
@echo off & setlocal ENABLEDELAYEDEXPANSION
set "rootfolder=D:\Data_all"
set "targetfolder=D:\Aktuell"
for /f "tokens=* delims=" %%g IN ('dir /B /AD /TC /O-D "%rootfolder%\*_*"') DO @(
xcopy /E /Y "!rootfolder!\%%g" "!targetfolder!\%%g\"
Pause
Hat irgendjemand eine Idee für mich ???
Danke im Voraus
Gruß
Markus
Problembeschreibung
Ich habe einen Ordner, in welchem alle Daten in ojektbezogenen Unterordnern abgespeichert sind. (D:\Data_all )
Nun möchte ich NUR den aktuellsten Ordner ( Datum und Uhrzeit, da mehrere Ordner por Tag angelegt werden können )
in einen anderen Ordner ( D:\Aktuell ) kopieren.
Wenn also zum Beispiel in "D:\Data_all" der Unterordner 10 ( D:\Data_all\10 ) der neuest angelegte ist, so
möchte ich diesen mit allen beinhalteten Dateien nach D:\Aktuell kopieren ---> D:\Aktuell\10
Mit meinem laienhaften Versuch ( und viiiiieeeeele anderen Versuchen ), beisse ich permanent auf Granit:
@echo off & setlocal ENABLEDELAYEDEXPANSION
set "rootfolder=D:\Data_all"
set "targetfolder=D:\Aktuell"
for /f "tokens=* delims=" %%g IN ('dir /B /AD /TC /O-D "%rootfolder%\*_*"') DO @(
xcopy /E /Y "!rootfolder!\%%g" "!targetfolder!\%%g\"
Pause
Hat irgendjemand eine Idee für mich ???
Danke im Voraus
Gruß
Markus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 330923
Url: https://administrator.de/forum/batch-aktuellsten-ordner-kopieren-330923.html
Ausgedruckt am: 19.02.2025 um 23:02 Uhr
3 Kommentare
Neuester Kommentar
Hallo Markus,
ist doch schon fast schön.
Beim Kopieren arbeitest du dann mit Variable %subfolder%.
Was passiert in der Zeile?
Die Verzeichnisse werden von DIR nach Erstellungsdatum aufgelistet, das älteste zuerst. Beim durchlaufen der Verzeichnisse in der FOR Schleife wird die Variable subfolder immer wieder überschrieben. Da das jüngste Verzeichnis zuletzt zugewiesen wird, bleibt es als Wert in der Variablen stehen, nachdem die Schleife beendet wurde.
Grüße
rubberman
ist doch schon fast schön.
for /f "delims=" %%g in ('dir /b /ad /tc /od "%rootfolder%\"') do set "subfolder=%%g"
Was passiert in der Zeile?
Die Verzeichnisse werden von DIR nach Erstellungsdatum aufgelistet, das älteste zuerst. Beim durchlaufen der Verzeichnisse in der FOR Schleife wird die Variable subfolder immer wieder überschrieben. Da das jüngste Verzeichnis zuletzt zugewiesen wird, bleibt es als Wert in der Variablen stehen, nachdem die Schleife beendet wurde.
Grüße
rubberman