Batch, Dateien des aktuellen Datums (heute) aus einem Verzeichnis mit vielen Unterverzeichnissen in ein einzelnes Verzeichnis zu kopieren.
Hallo,
ich versuche vergeblich eine Batch zu schreiben die folgendes tut:
Dateien des aktuellen Datums (heute) aus einem Verzeichnis mit vielen Unterverzeichnissen in ein einzelnes Verzeichnis zu kopieren.
Ich habe hier gefunden:
@for /F "tokens=1-3 delims=." %%a in ("%date%") do xcopy c:\quelle d:\ziel /D:%%b-%%a-%%c
Dieses Batch untersuch aber nur das Verzeichniss - C:\quelle und keine Unterverzeichnisse!
Hat hier einer von Euch eine Idee?
ich versuche vergeblich eine Batch zu schreiben die folgendes tut:
Dateien des aktuellen Datums (heute) aus einem Verzeichnis mit vielen Unterverzeichnissen in ein einzelnes Verzeichnis zu kopieren.
Ich habe hier gefunden:
@for /F "tokens=1-3 delims=." %%a in ("%date%") do xcopy c:\quelle d:\ziel /D:%%b-%%a-%%c
Dieses Batch untersuch aber nur das Verzeichniss - C:\quelle und keine Unterverzeichnisse!
Hat hier einer von Euch eine Idee?
Please also mark the comments that contributed to the solution of the article
Content-Key: 173660
Url: https://administrator.de/contentid/173660
Printed on: May 4, 2024 at 16:05 o'clock
7 Comments
Latest comment
Aloha,
[½OT]
... mach mal die Konsole auf, tippe xcopy /? ein und guck' dir den Schalter /S an ...
und wenn du erst einmal sehen willst, was er kopieren würde, wäre dies durch den zusätzlichen Schalter /L möglich.
[/½OT]
Wenn du wirklich nur Dateien kopiert haben willst, ist xcopy die falsche Wahl (sollte man aber wissen ...) aber unsere Suchfunktion hilft dir bei diesem Anliegen ungemein. (hatten wir erst ähnlich letzte Woche z.B. hier)
greetz André
[½OT]
... mach mal die Konsole auf, tippe xcopy /? ein und guck' dir den Schalter /S an ...
und wenn du erst einmal sehen willst, was er kopieren würde, wäre dies durch den zusätzlichen Schalter /L möglich.
[/½OT]
Wenn du wirklich nur Dateien kopiert haben willst, ist xcopy die falsche Wahl (sollte man aber wissen ...) aber unsere Suchfunktion hilft dir bei diesem Anliegen ungemein. (hatten wir erst ähnlich letzte Woche z.B. hier)
greetz André
?
greetz André
xcopy scheint hier wirklich falsch zu sein, nun habe ich folgendes gefunden:
for /f "delims==" %%k in ('dir c:\temp\*.* /s /b') do copy "%%k" d:\ - das kopiert mir aber alle
Dateien (von c:\temp - inkl Unterordner) in d:\
wie kann ich hier ein Parameter einbinden so das nur die Dateien mit Datum von heute kopiert werden?
... hast du mal auf meinen Link in meinem Kommentar geklickt wo steht z.B. hier? Da hättest du dann deine Frage zum Datums-Parametergedöns beantwortet bekommen ... bis auf den Schalter for /f "delims==" %%k in ('dir c:\temp\*.* /s /b') do copy "%%k" d:\ - das kopiert mir aber alle
Dateien (von c:\temp - inkl Unterordner) in d:\
wie kann ich hier ein Parameter einbinden so das nur die Dateien mit Datum von heute kopiert werden?
/V
und das Ersetzen von del
durch das Copygedöns (und evtl. Entfernen des echo
s hättest du die Zeile sogar übernehmen könnengreetz André
Aloha ....
Das
greetz André
P.S.: Nur wenn du ausschließen kannst, dass keine doppelten Dateinamen vorhanden sind, sonst wird der letzte Fund natürlich einfach drübergebügelt - wenn du doch doppelte haben solltest, müssen wir das Ganze einfach noch ein wenig erweitern.
@echo off & setlocal
set "Quelle=E:\Skripte"
set "Ziel=E:\Test"
for /f "delims=" %%s in ('dir /B /S /A-D "%Quelle%"') do (
echo %%~ts |findstr %date%>nul && echo copy "%%s" "%Ziel%"
)
pause
goto :eof
Das
echo copy
dient erst einmal der Voransicht wenn du dort das echo
entfernst, geht es so richtig zur Sache ^_^greetz André
P.S.: Nur wenn du ausschließen kannst, dass keine doppelten Dateinamen vorhanden sind, sonst wird der letzte Fund natürlich einfach drübergebügelt - wenn du doch doppelte haben solltest, müssen wir das Ganze einfach noch ein wenig erweitern.
Aloha bogoss
greetz André
Hi Aloha,
? ... warum kommen öfter Leute auf die Idee, meine Begrüßung wäre ein Name *grübel* Ich verstehe, dass "pause" eine reine Kosmetik Maßnahme darstellt - wenn ich es entferne sehe ich nicht was bei der Ausführung der Batch passiert.
Aye, sollte zusammen mit echo
eben dazu dienen, dass du wirklich sehen kannst, was abläuft (als Test) und ob evtl. doch doppelte vorkommen greetz André