Arquivos de log do RoboCopy sem espaço em branco?

Arquivos de log do RoboCopy sem espaço em branco?

Então, estou trabalhando em um script para usar o RoboCopy para copiar vários arquivos e registrar o que foi copiado.

Funciona razoavelmente bem, exceto pelos arquivos de log. Eles tendem a ficar assim:

C:\Users\Tech\Documents\desktop.initechscan1.jpgtechscan2.jpgtechscan3.jpgtechscan4.jpgtechscan5.jpgwsus.jpgwsus2.jpgC:\Users\Tech\Documents\My Music\C:\Users\Tech\Documents\My Pictures\C:\Users\Tech\Documents\My Videos\C:\Users\Tech\Documents\My Digital Editions\

Como você pode ver, parece que faltam todos os espaços em branco e separadores entre as entradas no log. Existe algo que eu possa fazer para corrigir isso? É meio frustrante.

A linha de comando que estou usando é esta:

C:\Users\Tech\Desktop>Robocopy.exe C:\Users\Tech\Documents c:\Temp /e /l /b /xj /xf ntuser.* desktop.ini *.lnk /np /njh /log:migratedfiles.txt /v

Eu tenho o /l lá desde que estou depurando e é a maneira mais fácil de evitar copiar tudo um milhão de vezes.

Responder1

Eu estava enfrentando o mesmo problema com o log do Robocopy sendo todo amontoado em uma linha com muito poucas informações legíveis. O que resolveu para mim é algo que também posso ver no seu código; você está executando o comando Robocopy em sua área de trabalho. Tente executá-lo, digamos, em seus documentos (mova o arquivo bat se estiver usando um ou altere o diretório no prompt de comando se estiver indo direto do cmd)

Eu tenhonãoideia do porquê, mas para mim isso resolveu o problema imediatamente. Assim que eu apertei cd.. e mudei de c:\users\ishan\desktop para cd:\users\ishan, o robocopy mostrou um log adequado novamente. Eu mesmo uso um arquivo .bat para o comando robocopy, então movi-o para meus Documentos e executei-o a partir daí, pronto, problema resolvido.

Espero que isso ajude seu problema também.

Responder2

Eu estava lutando com esse mesmo problema e acredito que encontrei a resposta. Você terá que fazer uma pequena pesquisa, mas depois disso deve ser bastante fácil

Pesquise roboou similar em sua C:unidade. Você deseja encontrar as localizações de RoboCopy.EXEe RoboCopy.EXE.MUI. Em um sistema de teste do Windows 7 de 32 bits que eu estava usando, encontrei esses arquivos nos seguintes diretórios:

C:\Windows\System32\RoboCopy.EXE
C:\Windows\System32\en-US\RoboCopy.EXE.MUI

Copie esses arquivos para um diretório separado, mas mantenha a mesma estrutura de diretórios encontrada depois de System32. Por exemplo:

C:\Test_PGM\RoboCopy.EXE
C:\Test_PGM\en-US\RoboCopy.EXE.MUI

Agora execute RoboCopya partir do diretório alternativo. Por exemplo:

C:\>"C:\Test_PGM\RoboCopy.EXE" "C:\Test_SRC" "C:\Test_DST" /COPYALL

Isso fornecerá a saída formatada corretamente.

Responder3

Acredito que o PATH usado quando o arquivo em lote é executado é fundamental. A variável de caminho tem (para mim) %SystemRoot%\system32; %SystemRoot%; etc.

No entanto, um trabalho executando um arquivo bat com: ROBOCOPY.EXE /JOB:jobname.RCJ é executado de maneira diferente de C:\Windows\System32\ROBOCOPY.EXE /JOB:jobname.RCJ

Para que o trabalho seja executado corretamente, especifico o caminho completo na chamada ... Encontrei duas versões do Robocopy.exe (ambas com idade, versão do produto idênticas e fazendo a coisa corretamente), então não sei qual caminho NÃO especifica um o nome completo tem uma versão diferente do executável - mas está errado.

informação relacionada