Ich versuche den folgenden Befehl:
robocopy "x:\dir" "y:\dir" /mir /z /tee /fft /nfl /ndl /eta /log:"x:\path to logs\12-15-11 01 file with spaces.txt"
Ich erhalte diesen Fehler:
ERROR : Invalid Parameter #10 : "/log:x:\path to logs\12-15-11 01 file with spaces.txt"
EDIT # 1
Es stellte sich heraus, dass der obige Befehl gültig war, ich hatte einen Tippfehler in meinem Pfad. Wenn Sie einen Pfad haben, der Leerzeichen enthält, können Sie diese wie folgt für den Robocopy- / Protokollschalter bereitstellen:/log:"c:\path to a file\robocopy.log"
Antworten:
Wenn Sie einen Pfad angeben müssen, der Leerzeichen für den Robocopy- / Protokollschalter enthält, können Sie dies folgendermaßen tun:
quelle
Es gibt vier Möglichkeiten zur Protokollierung als Powershell-Dokumentation
/log:<LogFile>
: Schreibt die Statusausgabe in die Protokolldatei (überschreibt die vorhandene Protokolldatei).robocopy "c:\a" "c:\b" /log:"c:\copy_log.log"
/log+:<LogFile>
: Schreibt die Statusausgabe in die Protokolldatei (hängt die Ausgabe an die vorhandene Protokolldatei an).robocopy "c:\a" "c:\b" /log+:"c:\copy_log.log"
/unilog:<LogFile>
: Schreibt die Statusausgabe als Unicode-Text in die Protokolldatei (überschreibt die vorhandene Protokolldatei).robocopy "c:\a" "c:\b" /unilog:"c:\copy_log.log"
/unilog+:<LogFile>
: Schreibt die Statusausgabe als Unicode-Text in die Protokolldatei (hängt die Ausgabe an die vorhandene Protokolldatei an).robocopy "c:\a" "c:\b" /unilog+:"c:\copy_log.log"
Weitere Informationen finden Sie unter https://technet.microsoft.com/en-us/library/cc733145(v=ws.11).aspx
quelle
/tee
switch hinzuzufügen , da dies auch die Befehlszeilenausgabe erzeugt und es dem Benutzer ermöglicht, den Fortschritt des Kopierens von Dateien auch in der Befehlszeile zu sehen.Dies geschieht, wenn Administratorrechte / oder Pop erforderlich sind, um eine Datei in diesem Verzeichnis zu erstellen
Versuchen Sie also, ein Protokoll- / temporäres Verzeichnis zu haben, und versuchen Sie, diesem Protokollverzeichnis eine Protokolldatei hinzuzufügen
z.B:
quelle
Wenn der Pfad zur Protokolldatei Leerzeichen oder andere Skripttrennzeichen enthält, fügen Sie ihn bitte in Anführungszeichen ein, wie dies in EDIT # 1 und @slm vorgeschlagen wird. Beachten Sie jedoch auch die Verwendung von Escape-Zeichen, wie in dieser Dokumentation zu Batch-Skripten beschrieben .
quelle