Eu tenho um script de robocopy para fazer backup de nossos repositórios do Kiln que são executados todas as noites, que se parece com isso:
robocopy "$liveRepoLocation" "$cloneRepoLocation" /MIR /MT /W:3 /R:100 /LOG:"$backupLogLocation\BackupKiln.txt" /NFL /NDL /NP
Na saída, há várias linhas que contêm "arquivos extras", como este:
*EXTRA File 153 E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.fdt
*EXTRA File 12 E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.fdx
*EXTRA File 128 E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.fnm
*EXTRA File 363 E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.frq
*EXTRA File 13 E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.nrm
Além disso, existem centenas de linhas na parte inferior que contêm nada além de "100%" s, como este:
100%
100%
100%
100%
100%
100%
100%
Além de tornar os arquivos de log enormes (há muitas pastas / arquivos nos repositórios do Kiln), torna irritante verificar os logs de vez em quando para ver se tudo estava funcionando bem.
- Como faço para parar "Arquivos extras" que aparecem no log? (editar: as linhas inteiras, não apenas o texto como / NC irá parar)
- Como faço para parar essas linhas "100%" que aparecem no log?
Eu tentei todas as combinações de opções em que consigo pensar (as opções atuais estão listadas acima no comando), mas nenhuma delas parece ocultar essas opções!
Respostas:
Só notei que está faltando um / NC lá.
/ NC: Sem classe - não registre classes de arquivo.
Os arquivos de classe são ... O que significa robocopy com ajustes, solitários e extras?
Então, eu tentaria: robocopy "$ liveRepoLocation" "$ cloneRepoLocation" / MIR / MT / W: 3 / R: 100 / NP /LOG:"$backupLogLocation\BackupKiln.txt "/ NC
Editar 1
Foi mal. Não viu que você já havia mencionado tentar / NC
Eu testei aqui. Parece que a opção / MIR ignora as opções de log. Também / MT estraga tudo, adicionando 100%.
A única maneira de começar a trabalhar foi
* Ele realmente funciona com / MIR. Mas você precisa especificar / NFL e /NDL.* Não sei se isso é aceitável para você.
Se você tentar / MT, ainda mostrará os 100% bobos
Editar 2
Sei que a pergunta era sobre o Robocopy, mas acho que você deveria experimentar o RichCopy http://technet.microsoft.com/en-us/magazine/2009.04.utilityspotlight.aspx
Aqui está a linha de comando:
Inicia a GUI do RichCopy e fecha quando concluído.
E aqui está o log
fonte
A
/XX
opção exclui os arquivos extras da lista. Perversamente, esta opção está listada nasFile Selection
opções, nãoLogging
. É o oposto da/X
opção de log, eu acho.fonte
Eu acho que isso pode funcionar:
Portanto, basta canalizar a saída para "encontrar" com o / V para excluir linhas que contenham o texto especificado "* Arquivo Extra".
fonte
que tal usar os comutadores
Então você tem
Notas: se você estiver usando isso em um script do PowerShell, como parece, precisará usar o findstr em vez de encontrar como em um arquivo .bat ou .cmd. Observe que / L e / C: não são suportados pelo find, mas para o comando find, eles não são necessários.
fonte