Se você precisar fornecer um caminho que inclua espaços para a opção / log do robocopy, poderá fazer assim:
/log:"c:\path to logs files\some log file.txt"
Estou tentando o seguinte comando:
robocopy "x:\dir" "y:\dir" /mir /z /tee /fft /nfl /ndl /eta /log:"x:\path to logs-15-11 01 file with spaces.txt"
Estou recebendo este erro:
ERROR : Invalid Parameter #10 : "/log:x:\path to logs-15-11 01 file with spaces.txt"
EDIT # 1
Acontece que o comando acima era válido, eu tinha um erro de digitação no meu caminho. Se você tiver um caminho que inclua espaços, poderá fornecê-los para a opção / log do robocopy da seguinte forma: /log:"c:\path to a file\robocopy.log"
Existem quatro formas de registro como a documentação do Powershell
/log:<LogFile>
: Grava a saída de status no arquivo de log (sobrescreve o arquivo de log existente).
robocopy "c:\a" "c:\b" /log:"c:\copy_log.log"
/log+:<LogFile>
: Grava a saída de status no arquivo de log (anexa a saída ao arquivo de log existente).
robocopy "c:\a" "c:\b" /log+:"c:\copy_log.log"
/unilog:<LogFile>
: Grava a saída de status no arquivo de log como texto Unicode (sobrescreve o arquivo de log existente).
robocopy "c:\a" "c:\b" /unilog:"c:\copy_log.log"
/unilog+:<LogFile>
: Grava a saída de status no arquivo de log como texto Unicode (anexa a saída ao arquivo de log existente).
robocopy "c:\a" "c:\b" /unilog+:"c:\copy_log.log"
Para mais detalhes link
Acontece quando precisa de privilégios de administrador / ou pop para criar um arquivo nesse diretório
Portanto, tente ter um diretório log / temp e tente adicionar o arquivo de log nesse diretório de log
$ mkdir C:\log
por exemplo:
$ robocopy "c:\a" "c:\b" /log:"c:\log\copy_log.log"
Se o caminho para o arquivo de log contiver espaços ou alguns outros delimitadores de script, inclua-o em citações , como sugere o seu EDIT # 1 e @slm. Mas também, por favor, note o uso de caracteres de escape como descrito em esta documentação no script em lote .