hacori
Goto Top

Robocopy Argument-Fehler zu Logfile

Hallo

Ich versuchte während Stunden, einen Robocopy Befehl so zu erweitern, dass bei der zu erstellenden Logdatei das Datum und die Urzeit drin stehen.
Das Ganze steht im Zusammenhang mit einer Servermigration.

Inzwischen fand ich heraus, dass ich es zwar von Anfang an eigentlich richtig machte, es aber mit dem gewählten Verzeichnis für die Log-Datei nicht ging (in Unterordner).

Kann mir jemand sagen, ob es tatsächlich nicht möglich ist, eine Log-Datei von Robocopy in einem Unterordner speichern zu lassen? Oder müsste ich da zusätzliche Berechtigungen erteilen? Wenn ja, welche?
Jetziger Stand: System und Administratoren haben Vollzugriff, Authentifizierte Benutzer haben änderungszugriff, Benutzer haben nur Lesezugriff


Hintergrund-Informationen

Da ich die Tests nicht gleich auf dem Server machen wollte, habe ich es mit anderen Daten auf meinem Computer (und anderen Verzeicnissen) versucht.

Mein Ausgangsbefehl war folgender. Leider testete ich diesen nicht, sonst wäre mir gleich zu beginn aufgefallen, dass ein Problem ausserhalb der Erweiterung vorliegt.
ROBOCOPY C:\Temp\Pseudodaten C:\Temp\Pseudodaten-Kopie /MIR /TEE /R:1 /W:1 /LOG:C:\pseudodaten-Log\robocopy.log /NP

Die erweitert Variante 1 (direkter, einzeiliger Befehl):
ROBOCOPY C:\Temp\Pseudodaten C:\Temp\Pseudodaten-Kopie /MIR /TEE /R:1 /W:1 /LOG+:C:\Pseudodaten-Log\robocopy_%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%.log /NP

Die erweitert Variante 2 (Befehl mit vorgängigen SET Befehlen):
set "datum=%date:~6,4%-%date:~3,2%-%date:~0,2%"  
set "zeit=%time:~0,2%-%time:~3,2%-%time:~6,2%"  
set "zeit=0%zeit: =%"  
set "zeit=%zeit:~-8%"  
ROBOCOPY C:\Temp\Pseudodaten C:\Temp\Pseudodaten-Kopie /MIR /TEE /R:1 /W:1 /LOG:C:\Pseudodaten-Log\robocopy_%datum%_%zeit%.log /NP

Bei jedem Versuch erschienen Fehler wegen dem Pfad und ungültigem Parameter.
2021/03/03 15:19:50 FEHLER 3 (0x00000003) Protokolldatei wird geöffnet C:\Pseudodaten\robocopy.log
Das System kann den angegebenen Pfad nicht finden
....
FEHLER: Ungültiger Parameter #7 : "/LOG:C:\Pseudodaten-Log\robocopy_2021-03-03_15-22-40.log" 
...


Schliesslich fand ich heraus, dass es offenbar nur geht, wenn ich die Log-Datei direkt im Laufwerk C:\ ohne Unterordner speichern lasse und nur mit cmd als Admin gestartet. Beide vorgenannten Befehle funktionieren mit /LOG:C:\robocopy_*.log anstatt /LOG:C:\Pseudodaten-Log\robocopy_*.log.


Insofern ist das Problem nun gelöst. Eine Antwort bezüglich Unterordner (doch möglich oder wirklich nicht) würde mich aber trotzdem interessieren.

Danke und Gruss

Content-Key: 658262

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

Ausgedruckt am: 19.03.2024 um 09:03 Uhr

Mitglied: rubberman
Lösung rubberman 03.03.2021 um 16:43:50 Uhr
Goto Top
Schwierig zu sagen, da du mal "C:\Pseudodaten" und mal "C:\Pseudodaten-Log" stehen hast. Die Fehlermeldung ist aber dafür ziemlich eindeutig. Die Pfade in die du deine Logdateien schreiben lassen willst, existieren nicht. Das müssen sie aber bereits vorab, denn ROBOCOPY legt nur die Logdatei, nicht aber den dazugehörigen Pfad an.

Steffen
Mitglied: hacori
hacori 03.03.2021 aktualisiert um 19:39:36 Uhr
Goto Top
Danke, das ist die Ursache, allerdings nicht wegen dem Namen:
Beim Erstellen des Forum-Eintrags hatte ich an einer Stelle den Ordnernamen irrtümlich als Pseudodaten anstatt Pseudodaten-Log geschrieben (das habe ich oben nun korrigiert). Allerdings ist dieser im Unterordner Temp und nicht direkt im C. Den Namen hatte ich während meinen Tests kontrolliert, weil ich selber vermutet hatte, dass ich vielleicht einen Tippfehler machte. Aber dass Temp fehlte, war mir schlicht nicht aufgefallen.

Ein Test mit der richtigen Angabe war nun erfolgreich.