Jak uzyskać robocopy do korzystania z pliku dziennika zawierającego spacje?


11

Próbuję następującego polecenia:

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"

Otrzymuję ten błąd:

ERROR : Invalid Parameter #10 : "/log:x:\path to logs\12-15-11 01 file with spaces.txt"

EDYCJA 1

Okazuje się, że powyższe polecenie było prawidłowe, miałem literówkę na swojej drodze. Jeśli masz ścieżkę zawierającą spacje, możesz podać je do przełącznika robocopy / log w następujący sposób:/log:"c:\path to a file\robocopy.log"


Pracuje dla mnie. Czy może u góry wyświetla się bardziej szczegółowy błąd?
— Carko,

Czy uruchamiasz to polecenie w kontekście skryptu zamiast bezpośrednio w wierszu polecenia. Być może coś jeszcze dodaje ucieczki?
— Zoredache,

Komunikat o błędzie sugeruje, że początkowe znaki cudzysłowu występują przed dwukropkiem; czy jesteś pewien, że polecenie, które próbujesz uruchomić, jest pokazane?
— Harry Johnston,

Przepraszam, miałem literówkę na ścieżce. Głównie zawstydzony. Dzięki za szybką pomoc wszystkich! Jaka jest procedura, czy powinienem usunąć to pytanie? Czy też mogę to przeformułować i dodać odpowiedź pokazującą, że możesz wstawić cudzysłowy wokół argumentu przełącznika / log robocopy?
— slm

Nie ma powodu, aby usunąć @slm. Jeśli jeden z powyższych komentarzy pomógł ci znaleźć problem, poproś go o opublikowanie go jako odpowiedzi, a następnie oznacz odpowiedź jako poprawną. Jeśli problem dotyczył czegoś zupełnie innego, napisz własną odpowiedź i oznacz ją jako odpowiedź, aby przyszli użytkownicy mogli sprawdzić, czy mają podobny problem.
— music2myear

Odpowiedzi:


11

Jeśli musisz podać ścieżkę zawierającą spacje do przełącznika robocopy / log, możesz to zrobić w następujący sposób:

/log:"c:\path to logs files\some log file.txt"

Dostaję nieprawidłowy błąd: parametr nr 11 „/ log”. Dodałem go na końcu innego, działającego polecenia.
— Andrew S

Nie pracuję już tam, gdzie obsługuję okna, więc nie mam możliwości przetestowania tego.
— slm

Upewnij się, że istnieje katalog macierzysty pliku dziennika. Robocopy go nie utworzy i niestety narzeka na parametr cmdline, jeśli katalog nie istnieje.
— mojo

4

Istnieją cztery sposoby rejestrowania jako dokumentacja programu PowerShell

/log:<LogFile> : Zapisuje dane wyjściowe statusu do pliku dziennika (zastępuje istniejący plik dziennika).

  • na przykład: robocopy "c:\a" "c:\b" /log:"c:\copy_log.log"

/log+:<LogFile> : Zapisuje dane wyjściowe statusu do pliku dziennika (dołącza dane wyjściowe do istniejącego pliku dziennika).

  • na przykład: robocopy "c:\a" "c:\b" /log+:"c:\copy_log.log"

/unilog:<LogFile> : Zapisuje dane wyjściowe statusu do pliku dziennika jako tekst Unicode (zastępuje istniejący plik dziennika).

  • na przykład: robocopy "c:\a" "c:\b" /unilog:"c:\copy_log.log"

/unilog+:<LogFile> : Zapisuje dane wyjściowe statusu do pliku dziennika jako tekst Unicode (dołącza dane wyjściowe do istniejącego pliku dziennika).

  • na przykład: robocopy "c:\a" "c:\b" /unilog+:"c:\copy_log.log"

Aby uzyskać więcej informacji https://technet.microsoft.com/en-us/library/cc733145(v=ws.11).aspx


Polecam również dodać /teeprzełącznik, ponieważ to również wyświetla dane wyjściowe z wiersza poleceń i pozwala użytkownikowi zobaczyć postęp kopiowania plików również w wierszu poleceń.
— vibs2006

1

Dzieje się tak, gdy potrzebujesz uprawnień administratora / lub pop, aby utworzyć plik w tym katalogu

Więc spróbuj mieć katalog log / temp i spróbuj dodać plik dziennika do tego katalogu

$ mkdir C:\log

na przykład:

$ robocopy "c:\a" "c:\b" /log:"c:\log\copy_log.log"

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.