o0julia0o
Goto Top

Robocopy kopiert nach LOKAL, Xcopy auch. - - - - Robocopy kopiert nicht nach NETZWERK, Xcopy wohl

hey,

ich möchte etwas kopieren(per Batch), der Befehl von Xcopy geht so:

set Quelle="%AppData%\Quelldaten"  
xcopy /e /i /h /r /y %Quelle% SAVES\%DATE%\

Das funktioniert mit robocopy ebenfalls:
set Quelle="%AppData%\Quelldaten"  
robocopy %Quelle% SAVES\%DATE%\ /MIR

Desweiteren möchte ich in einee Netzwerkfreigabe kopieren. Das geht so:
set Quelle="%AppData%\Quelldaten"  
xcopy /e /i /h /r /y %Quelle% "\\Freigabename\G_Daten\%p:~1%\SAVES\%DATE%\"  

Das funktioniert jedoch nicht mit robocopy:
set Quelle="%AppData%\Quelldaten"  
robocopy %Quelle% "\\Freigabename\G_Daten\%p:~1%\SAVES\%DATE%\" /MIR  

Dann erhalte ich folgende Fehlermeldung:
2020/08/06 19:05:10 FEHLER 123 (0x0000007B) Zugriff auf Zielverzeichnis \\Freigabename\G_Daten\SAVES\06.08.2020" \MIR\  
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.

Erwarten würde ich, dass er das gleiche tut wie Xcopy. Also im Ornder SAVES einen Unterordner mit dem heutigem Datum erstellt und dort Den Ordner Quelldaten hineinkopiert.

Wo steckt der Fehler?

lieben Dank!

Content-ID: 594208

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

Ausgedruckt am: 22.11.2024 um 14:11 Uhr

Datax87
Lösung Datax87 07.08.2020 um 00:35:10 Uhr
Goto Top
Das funktioniert jedoch nicht mit robocopy:
set Quelle="%AppData%\Quelldaten  
> robocopy %Quelle% "\\Freigabename\G_Daten\%p:~1%\SAVES\%DATE%\" /MIR  

Dann erhalte ich folgende Fehlermeldung:
2020/08/06 19:05:10 FEHLER 123 (0x0000007B) Zugriff auf Zielverzeichnis \\Freigabename\G_Daten\SAVES\06.08.2020" \MIR\  
> Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.

Hi, es hapert da nur an Kleinigkeiten.

In der Variable "Quelle" steht direkt hinter dem Gleichheitszeichen ein Anführungszeichen,
dieses muss entfernt werden.

Zweiter Stolperstein ist die Angabe des Zielpfades, wo wiederum beide Anführungszeichen entfernt werden müssen.

Des Weiteren wird das %p:~1% in der Angabe des Zielpfades ein Problem sein.
Diese Angabe ist eigentlich nicht notwendig, wenn denn der Zielpfad "\\Freigabename\G_Daten\SAVES\06.08.2020" korrekt ist.

Probier' mal folgenes Robocopy-Batch:

set Quelle=%AppData%\Quelldaten
robocopy %Quelle% \\Freigabename\G_Daten\SAVES\%DATE%\ /MIR


Nach dem Aufruf dieser Batch-Datei sollte im Verzeichnis "\\Freigabename\G_Daten\SAVES\" ein Unterordner mit dem aktuellen Datum erstellt worden sein, welches wiederum die kopierten Daten enthält.

Gruß, Datax
o0Julia0o
o0Julia0o 07.08.2020, aktualisiert am 08.08.2020 um 16:25:51 Uhr
Goto Top
Danke Dir Datax!

Die Anführungszeichen waren das Problem. So geht es:

set Quelle=%AppData%\Quelldaten
set "p=%~p0"  
robocopy %Quelle% \\Freigabename\G_Daten\%p:~1%\SAVES\%DATE%\ /MIR

Doch was tun, wenn ein Leerzeichen im Pfad ist?
emeriks
Lösung emeriks 07.08.2020 um 08:12:15 Uhr
Goto Top
Hi,
Zitat von @o0Julia0o:
Doch was tun, wenn ein Leerzeichen im Pfad ist?
Anführungszeichen dort hin, wo sie relevant sind.
set Quelle=Pfad mit Leerzeichen
 set "p=%~p0"  
 robocopy "%Quelle%" \\Freigabename\G_Daten\%p:~1%\SAVES\%DATE%\ /MIR