Robocopy in einer Batchdatei
Hallo
ich möchte ein einfache Batchdatei erstellen.
Ich möchte sämtliche Dateien und Ordner von meiner Festplatte D: auf ein Netzlaufwerk kopieren.
Das Betriebsystem, auf dem die Batchdatei ausgeführt werden soll, ist Windows XP.
Das wäre mein Code:
echo off
SET source=d:
SET destination=\\Netzlaufwerk\Daten
robocopy "%source%" "%destination%" *.* /mir
Leider funktioniert der Befehl mit robocopy nicht.
Ich habe auch schon "SET source=d:\" probiert, funktioniert auch nicht. Wenn ich z.B. "SET source=d:\Nutzer" definiere, dann funktioniert der Kopiervorgang einwandfrei. Aber ich will ja nicht nur einen Ordner kopieren...
So eine ähnlich Frage gab es schon mal. Was mach ich falsch? Kann mir jemand helfen?
Vielen Dank und schöne Grüße.
ich möchte ein einfache Batchdatei erstellen.
Ich möchte sämtliche Dateien und Ordner von meiner Festplatte D: auf ein Netzlaufwerk kopieren.
Das Betriebsystem, auf dem die Batchdatei ausgeführt werden soll, ist Windows XP.
Das wäre mein Code:
echo off
SET source=d:
SET destination=\\Netzlaufwerk\Daten
robocopy "%source%" "%destination%" *.* /mir
Leider funktioniert der Befehl mit robocopy nicht.
Ich habe auch schon "SET source=d:\" probiert, funktioniert auch nicht. Wenn ich z.B. "SET source=d:\Nutzer" definiere, dann funktioniert der Kopiervorgang einwandfrei. Aber ich will ja nicht nur einen Ordner kopieren...
So eine ähnlich Frage gab es schon mal. Was mach ich falsch? Kann mir jemand helfen?
Vielen Dank und schöne Grüße.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 289119
Url: https://administrator.de/forum/robocopy-in-einer-batchdatei-289119.html
Ausgedruckt am: 10.04.2025 um 22:04 Uhr
7 Kommentare
Neuester Kommentar
Hallo Cinebat,
meines Wissen klappt kopieren von ganzen Laufwerken mit robocopy nur, wenn ein Backslash hinter dem Laufwerksbuchstaben steht. Zudem kann es sein, dass du die Pfadangabe in Anführungszeichen setzen musst. Das hat bei mir schon mal geholfen.
Den Parameter *.* kannst du weglassen, der besagt ja das alles kopiert wird. Das /mir aber sowieso.
Grundsätzlich würde ich mal den Tipp von potshock probieren, als erstes alles in eine Zeile zu schreiben. Dann kannst du bei den SET Befehlen nichts falsch machen. Erst nachdem die Funktion des Codes getestet ist, würde ich mich an die "Verschönerung" des Codes machen.
Schöne Grüße
Tim
meines Wissen klappt kopieren von ganzen Laufwerken mit robocopy nur, wenn ein Backslash hinter dem Laufwerksbuchstaben steht. Zudem kann es sein, dass du die Pfadangabe in Anführungszeichen setzen musst. Das hat bei mir schon mal geholfen.
echo off
SET source="d:\"
Set destination="\\Netzlaufwerk\Daten"
robocopy %source" %destination" /mir
Den Parameter *.* kannst du weglassen, der besagt ja das alles kopiert wird. Das /mir aber sowieso.
Grundsätzlich würde ich mal den Tipp von potshock probieren, als erstes alles in eine Zeile zu schreiben. Dann kannst du bei den SET Befehlen nichts falsch machen. Erst nachdem die Funktion des Codes getestet ist, würde ich mich an die "Verschönerung" des Codes machen.
Schöne Grüße
Tim
Versuche es mal damit:
Ungetestet.
REM Setting drives, Paths and params
REM SRCDRV := Sourcedrive (Quelllaufwerk
REM SCRDIR := Sourcepath
REM TGTDRV := Targetdrive (Ziellaufwerk)
REM TGTDIR := Targetpath (Zielpfad)
Set SRCDRV=C:
Set SRCDIR=\
Set DESTINATION="\\Netzlaufwerk\Daten"
Set PARAMS=/MIR
...
RoboCopy "%SRCDRV%\%SRCDIR%" "%DESTINATION%" %PARAMS%
...
Ungetestet.
Du musst bei der Quelle ein Verzeichnis angeben. Wenn es das Rootverzeichnis ist, dann lautet die Quelle "C:\"
Ich habe mir eine Batchdatei geschrieben, wo ich von Laufwerk S:\ nach Laufwerk T:\ kopiere. Das funktioniert bei mir einwandfrei.
Also
Gruss Penny
Ich habe mir eine Batchdatei geschrieben, wo ich von Laufwerk S:\ nach Laufwerk T:\ kopiere. Das funktioniert bei mir einwandfrei.
Also
robocopy "S:\" "T:\" /NP /V /X /S /E /Copy:DAT /DST /TS /FP /R:1 /W:1 /TEE
Gruss Penny