mike0185
Goto Top

Robocopy-Script überschreibt jedesmal den Ziel-Ordner

Hallo Community,

ich habe ein Problem mit einer Robocopy-Batch, die wenn Sie gestartet wird mir jedesmal den Zielordner frisch ersetzt. Das Skript soll einen Quell-Ordner auf eine Serverfreigabe kopieren und dabei jedesmal ein neuer Ordner mit Datum und Uhrzeit anlegen, damit ein Archiv entsteht. Bisher wird der Zielordner aber jedesmal ersetzt bzw. nur der aktuelle Stand kopiert.

Beispiel:

Skript wird am 05.08.2011 um 11 Uhr ausgeführt und am 08.08.2011 um 10 Uhr. Es sollen also nun 2 Ordner auf dem Server liegen (Ordner:20110805_1100 und Ordner20110808_1000) mit den jeweiligen Dateiständen.

In meinem Fall wird Ordner 20110805_1100 dann überschrieben und heisst 20110808_1000.

Hier mal das Skript:
::        --------------------- Variablen festlegen --------------------
set "datum=%date:~-4%%date:~-7,2%%date:~-10,2%"  
set "zeit=%time:~0,2%%time:~3,2%%time:~6,2%"  
set "zeit=0%zeit: =%"  
set "zeit=%zeit:~-6%"  

set Quelle1=C:\Daten\
set Quelle2=C:\Export\
set Quelle3=C:\Vorlagen\

set Ziel1=Y:\Daten\%datum%_%zeit%
set Ziel2=Y:\Export\%datum%_%zeit%
set Ziel3=Y:\Vorlagen\%datum%_%zeit%

::        --------------------- Starten des Kopierprozesses ----------------------

@Echo off

mkdir %Ziel1%
mkdir %Ziel2%
mkdir %Ziel3%

robocopy.exe %Quelle1% "%Ziel1%" /TEE /LOG+:\\SERVER\logs$\robocopy.txt  
robocopy.exe %Quelle2% "%Ziel2%" /TEE /LOG+:\\SERVER\logs$\robocopy.txt  
robocopy.exe %Quelle3% "%Ziel3%" /TEE /LOG+:\\SERVER\logs$\robocopy.txt  

pause
Wer kann helfen? Gibt es einen Parameter den ich vergessen habe? Warum überschreibt Robocopy den Zielpfad jedesmal?

Danke Euch!

Grüße
Mike

Content-Key: 171072

Url: https://administrator.de/contentid/171072

Printed on: April 19, 2024 at 05:04 o'clock

Member: Skyemugen
Skyemugen Aug 08, 2011 at 07:32:01 (UTC)
Goto Top
Aloha,

edit Montagsmorgen vor'm Frühstück: Nevermind.

Hm, wird der wirklich überschrieben oder wird der vorhandene eventuell eher gelöscht?

greetz André
Member: bastla
bastla Aug 08, 2011 at 07:47:28 (UTC)
Goto Top
Hallo Mike0185!

Bis auf das fehlende "setlocal" am Beginn des Batches (damit nach dem Batch die Änderungen an Variablen "vergessen" werden) und die unnötigen "mkdir"-Befehle fällt mir beim kurzen Drüberschauen eigentlich nix auf ...

Grüße
bastla

P.S.: Für Code bitte die passende ...
Member: Deepsys
Deepsys Aug 08, 2011 at 09:26:35 (UTC)
Goto Top
Hi,

was sagt denn der Log selber?
Irgendwas von *EXTRA Files?

Gibt denn die beiden Verzeichnisse an der Quelle?
Oder immer nur das eine und Robocopy soll quasi ein Archiv machen?

Weiterhin gibt es die Option
/PURGE = Löscht Zieldateien/-verzeichnisse, die in der Quelle nicht mehr vorhanden sind

aber im Normalfall sollte die nicht drin sein ...

VG
Deepsys
Member: Deepsys
Deepsys Aug 08, 2011 at 09:28:57 (UTC)
Goto Top
Moment mal, setz mal ein "\" hinter das Ziel:

set Ziel1=Y:\Daten\%datum%_%zeit%\
Member: Mike0185
Mike0185 Aug 08, 2011 at 09:37:14 (UTC)
Goto Top
danke schon mal für die hilfe...

bei set Ziel1=Y:\Daten\%datum%_%zeit%\ mit dem "\" sagt er dass das Ziel ungültig wäre.

Mir ist aber aufgefallen, dass robocopy sämtliche ordner erst löscht, also Daten, Vorlagen, Exporte und diese dann neu mit dem Unterordner "Datum_Zeit" anlegt. Aber warum!?
Member: Deepsys
Deepsys Aug 08, 2011 at 09:55:09 (UTC)
Goto Top
bei set Ziel1=Y:\Daten\%datum%_%zeit%\ mit dem "\" sagt er dass das Ziel ungültig wäre.

Ups, stimmt.
Das steht zwar im Log drin (bei meinem Script), aber es muss ohne sein ....


Mir ist aber aufgefallen, dass robocopy sämtliche ordner erst löscht, also Daten, Vorlagen, Exporte und diese dann neu
mit dem Unterordner "Datum_Zeit" anlegt. Aber warum!?

Und wenn du testhalber mal einfach den Zielpfad fest eingibst ??

Aber komisch ist das schon ....
Member: bastla
bastla Aug 08, 2011 at 10:00:50 (UTC)
Goto Top
... und lass mal auch den "\" am Ende des Quellordners weg ..

Grüße
bastla
Member: Mike0185
Mike0185 Aug 08, 2011 at 12:13:57 (UTC)
Goto Top
mhmmm.... ich hab keine Ahnung warum, aber nach dem ich das Ziel nun auf einen anderen Ordnernamen gelegt hab funktioniert das ganze Skript ohne Probleme und genau so wie es sein soll...

*kopfkratz*

DANKE trotzdem an euch alle!