Daten eines gewissen Zeitraumen sichern mit Xcopy

Hallo,

ich habe folgendes Problem. Ich möchte mit einer Batch Datei Daten sichern die sich in einem bestimmten Zeitraum befinden (z.B. von 1. Sept.2011 - 15. Sept.2011).

Mein Quellcode bis jetzt:
@echo off

XCOPY c:\test I:\testcopy /d:05-16-11 /S /E /V

pause

Aber es Sichert eben nur die Dateien ab dem 16.05.2011 bis jetzt.

Würde mich auf eine schnelle Antwort freuen!

mfg

Moin moin,

Hallo,

ich habe folgendes Problem. Ich möchte mit einer Batch Datei
Daten sichern die sich in einem bestimmten Zeitraum befinden
(z.B. von 1. Sept.2011 - 15. Sept.2011).

Mein Quellcode bis jetzt:
@echo off

wie siehts mit einem FOR aus

FOR /L %%A IN (1,1,15) DO (XCOPY c:\test I:\testcopy /d:05-%%A-11 /S /E /V)

ungetestet :smile:

pause

Thomas Punkt.

Danke, könntest du das vielleicht noch kurz Erklären.

Das ist mir unklar: /L %%A IN (1,1,15)

und die Datumangabe hier: /d:05-%%A-11

Danke, könntest du das vielleicht noch kurz Erklären.

Das ist mir unklar: /L %%A IN (1,1,15)

ruf mal die Hilfe auf
FOR /?

bei Parameter /L findest du die Logik

FOR /L %variable IN (start,schritt,ende) DO Befehl

und die Datumangabe hier: /d:05-%%A-11

soll ersetzt werden durch 1 bis 15 , das was auch /L halt folgt

bei batch muss man stat %a %%a nehmen.

und die Datumangabe hier: /d:05-%%A-11

hmm , nun die frage, muss die tag angabe kleiner 10 mit führender 0 geschehen ?

Ach ok jetzt wird es mir klarer, Danke dir.
Der Tag wird immer eins hochgezählt, in der angegebenen Schrittweise.

Soweit ich weiss muss die Tag Angabe mit führender 0 sein.
Ich habe die For mal getestet und sie lief ohne Fehler, ich änder sie eben mal auf meine Daten ab ob die richtigen Daten gesichert werden.

Also ich habe es eben mit dem Monat Februar getestet.

@echo on
FOR /L %%A IN (1,1,28) DO (XCOPY c:\test c:\testcopy /d:02-%%A-11 /S /E /V)
pause

Wie du schon befürchtest hatte beginnt er mit dem Datum 02-1-11, ohne eine Null. Es wird also mehr gesichert als verlangt -.-

Ach ich hab ganz vergessen das der xcopy parameter blöd angelegt ist, es ist immer ab Datum und alle danach .

Da ist es dann ja eh wieder egal welchen tag es einträgt , es nimmt eh alles von da bis heute .

Also vergessen wir das ganze mit dem FOR , denn XCOPY lässt es nicht zu , egal was man als parameter übergibt.

Gug mal bei
„robocopy c:\ d:\sicherung /s /minage:20090101“
nach

ob man da auch ein maxage mitgeben kann :smile:

jo gibt sogar maxage

also sollte

robocopy c:\ d:\sicherung /s /minage:20110501 /maxage:20110515

das sein was du willst um die ersten 15 tage vom monat 05 zu bekommen

1 Like

Danke, ich teste es morgen mal und gebe dir Bescheid ob es geklappt hat =)

Es hat erfolgreich mit meinen Testdateien geklappt =) Danke nochmal!

@echo off
robocopy C:\test C:\testcopy /minage:20101030 /maxage:20101001 /S /E
pause

Gesichert werden alle Dateien die seit 01.10.2010 und bis zum 30.10.2010 verändert oder erstellt worden sind.