Robocopy - Skript

  • Ersteller Ersteller Ledeker
  • Erstellt am Erstellt am
L

Ledeker

Gast
Würde das so gehen?

@ECHO OFF
SETLOCAL

SET _source=\\PC1\C$\Test

SET _dest=\\PC1\E$\Test

SET _what=/COPYALL /B /SEC /MIR /DCOPY:T
:: /COPYALL :: COPY ALL file info
:: /B :: copy files in Backup mode.
:: /SEC :: copy files with SECurity
:: /MIR :: MIRror a directory tree
:: /DCOPY:T :: copy timestamp of directories

SET _options=/R:1 /W:2 /LOG+:c:\copy.log /V /NFL /NDL
:: /R:n :: number of Retries
:: /W:n :: Wait time between retries
:: /LOG :: Output log file
:: /NFL :: No file logging
:: /NDL :: No dir logging

ROBOCOPY %_source% %_dest% %_what% %_options%

Um zwei Verzeichnisse komplett abzugleichen?
Bei mir kommt nur kurz ein CMD-Fenster, verschwindet und nichts passiert.
 
Füge noch ein "pause" unten ein, dann siehst Du die Fehlermeldung. Wenn im log nichts steht passt wohl was nicht an der Syntax.

Edit: Setz bei "what" und "options" alles in Anführungszeichen, da sind Leerzeichen drin !
 
Zuletzt bearbeitet:
Setz ans Ende vom Skript einfach mal das Wörtchen "pause". Dann bleibt das Skript solange geöffnet,bis du es per Tastendruck schließt und man kann wenigstens die Fehlerausgabe sehen.
Generell erstell ich mir solche Skripts auch erstmal,indem ich mir den kompletten Pfad+Optionen hinschreibe und danach erst Variablen einfüge. So funktioniert erstmal alles und
 
Mit dem YARCGUI zu Robocopy werden konsistente Skripte generiert und die Fehler im Skript werden dramatisch reduziert. Zusätzlich bietet die graphische Oberfläche eine bessere Übersicht und Jobverwaltung.

Grüße
 
Alle laut lachen - robocopy war nicht installiert,
danke, der Skript stimmte.

Sonnigen Tag noch !!!

EDIT:

Ich suche eine Möglichkeit mit dem oben genannten Skript die Daten, dann auch im Quellverzeichnis zu löschen bzw. zu verschieben. Ist dies auch möglich mit Robocopy?
 
Zuletzt bearbeitet:
/MOV :: Verschiebt Dateien (löscht Dateien nach dem Kopieren an der Quelle).
/MOVE :: Verschiebt Dateien UND Verzeichnisse (löscht sie nach dem Kopieren an der Quelle).

einfach robocopy /? eingeben, dann kriegst Du alle Optionen angezeigt.
 
dürfte normal egal sein, diese Parameter sind meines Wissens nicht an eine Reihenfolge gebunden.
 
Ok er löscht sie,
aber beim nächsten Mal, entfernt er auch die Datei aus dem Zielordner.
Was mache ich falsch?
 
Ledeker schrieb:
Ok er löscht sie,
aber beim nächsten Mal, entfernt er auch die Datei aus dem Zielordner.
Was mache ich falsch?
Beinhaltet dein Skript evtl. eine Schleife, in der der "neuen" Quellvariable die "alte" Zielvariable zugewiesen wird oder ist dein Skript noch so wie im Startpost (immerhin aus dem Juli 2012 ;) )

Ansonsten würde ich der Syntax halber (falls noch nicht geschehen) doch noch die Anführungszeichen um die Wertezuweisung der Ordnervariablen und Optionen setzen, sprich:
Code:
set _dest="\\PC1\E$\Test"
etc.

Und was sagt denn deine Logdatei?
 
Zuletzt bearbeitet:
Hallo,
die aus dem Startpost.

Edit:

/MIR durch /MOV ersetzt -> funktioniert.
Danke trotzdem!
 
Zuletzt bearbeitet:
Stimmt /MIR und /MOV in Kombination ist gefährlich - ist mir noch gar nicht aufgefallen - danke für den Tipp!
 
Ich habe folgenden Skript erstellt:

@ECHO OFF
SETLOCAL

SET _source=\\muster1\muster

SET _dest=C:\muster2\muster

SET _what=/COPYALL /B /SEC /DCOPY:T /MOV
:: /COPYALL :: COPY ALL file info
:: /B :: copy files in Backup mode.
:: /SEC :: copy files with SECurity
:: /DCOPY:T :: copy timestamp of directories
:: /MOV :: Moves files, and deletes them from the source after they are copied.

SET _options=/R:1 /W:2 /LOG+:C:\musterhausen\muster.log /V /NFL /NDL
:: /R:n :: number of Retries
:: /W:n :: Wait time between retries
:: /LOG :: Output log file
:: /NFL :: No file logging
:: /NDL :: No dir logging

ROBOCOPY %_source% %_dest% %_what% %_options%

Jedoch erscheint im Log immer folgender Fehler, obwohl er alles kopiert:

------------------------------------------------------------------------------
ROBOCOPY :: Robustes Dateikopieren fr Windows
-------------------------------------------------------------------------------

Gestartet: Mon Apr 08 10:13:28 2013

Quelle : \\muster1\muster
Ziel : C:\muster2\muster

Dateien : *.*

Optionen: *.* /V /NDL /NFL /COPY:DATS /DCOPY:T /MOV /B /R:1 /W:2

------------------------------------------------------------------------------


------------------------------------------------------------------------------

Insgesamt KopiertšbersprungenKeine šbereinstimmung FEHLER Extras
Verzeich.: 1 0 1 0 0 1
Dateien: 128 128 0 0 0 0
Bytes: 180.4 k 180.4 k 0 0 0 0
Zeiten: 0:00:00 0:00:00 0:00:00 0:00:00


Geschwindigkeit: 407865 Bytes/Sek.
Geschwindigkeit: 23.338 Megabytes/Min.

Beendet: Mon Apr 08 10:13:29 2013


Mit was hat der Fehler zu tun?
 
Wieso Fehler ? bei Fehler steht doch überall "0", die " 1" bei Verzeichnis ist bei "Extras" - oder übersehe ich da was ? Was ich bei der Ausgabe nicht ganz verstehe ist die Option Copy < Smilie> ATS, was steht denn ursprünglich unter dem Smilie - Copyall ?
 
puri schrieb:
Was ich bei der Ausgabe nicht ganz verstehe ist die Option Copy < Smilie> ATS, was steht denn ursprünglich unter dem Smilie - Copyall ?
COPY: DATS -> Copyflags für Daten, Attribute, Zeitstempel und Sicherheitsinformationen

Ich seh da auch keinen Fehler? Aber ist auch nicht ideal formatiert, vielleicht hilft n Screenshot? ;)
 
Anbei der Screenshot.
Liegt es vielleicht daran, dass sich im Zielordner stets noch ein Unterordner befindet?
 

Anhänge

  • Unbenannt.JPG
    Unbenannt.JPG
    50,7 KB · Aufrufe: 162
Wäre ne Erklärung für den Pseudofehler, weil bei Fehler ja auch "0 Byte" steht.
 
Hy,

eben.
Was anders viel mehr spontan auch nicht ein, da er alle Dateien sauber kopiert.
 
Zurück
Oben