mmarkuss
Goto Top

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

Content-ID: 330923

Url: https://administrator.de/forum/batch-aktuellsten-ordner-kopieren-330923.html

Ausgedruckt am: 19.02.2025 um 23:02 Uhr

rubberman
Lösung rubberman 02.03.2017 um 23:31:31 Uhr
Goto Top
Hallo Markus,

ist doch schon fast schön.
for /f "delims=" %%g in ('dir /b /ad /tc /od "%rootfolder%\"') do set "subfolder=%%g"  
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
MmarKuss
MmarKuss 05.03.2017 um 19:47:32 Uhr
Goto Top
Danke rubberman face-smile...funktioniert
Jblockus469
Jblockus469 27.09.2019 um 16:07:11 Uhr
Goto Top
Bei mir funktioniert es leider nicht, kann mir jemand noch mal die fertige batch posten?