Como o Robocopy determina se um arquivo é “alterado”

14

Estou procurando informações detalhadas sobre como o algoritmo do Robocopy determina se um arquivo foi alterado ou não. Se eu usar, por exemplo, o parâmetro / mir, o Robocopy deve determinar quais arquivos são alterados e quais não. Ele usa o timestamp ou tamanhos de arquivo modificados, hashes uma combinação de todos?

Curiosamente, isso não diz nada sobre a documentação.

    
por user54512 01.08.2014 / 11:29

1 resposta

22

O.k. depois de passar o dia pesquisando isso, lendo a documentação e testando para mim (todos com o mesmo resultado) eu tenho a resposta.

Uma resposta curta é: o valor padrão do Robocopy é (a menos que você especifique algo diferente por meio de parâmetros) que ele copiará qualquer arquivo em que o Timestamp OU o tamanho do arquivo difere . Lembre-se de que o Robocopy SEMPRE copia da origem para o destino. Portanto, se você tiver um arquivo AND maior e maior no destino, o Robocopy irá sobrescrevê-lo com o arquivo mais antigo e menor da fonte (é por isso que eu enfatizo a palavra difere - não é mais recente ou maior apenas diferente).

Em um nível mais profundo, você pode verificar com a opção / it mesmo se os atributos de um arquivo diferirem e copiar os que diferem também - mesmo se o tamanho do arquivo e o Timestamp forem iguais (OK para 100% não sei se copiará o arquivo ou apenas os atributos ausentes, mas como os arquivos são idênticos, o resultado será o mesmo).

Eu encontrei a documentação que foi citada no outro tópico - é sobre a versão XP010 (eu acho que era o Windows XP). Mas simplesmente não há documentação mais recente para robocopy. Você pode encontrar a documentação aqui:

link (Leia a seção "Usando classes de arquivos Robocopy", tudo está bem definido lá)

A documentação é sobre uma versão mais antiga do Robocopy (Under Win7 você geralmente tem a versão XP027) - mas você pode verificar as alterações da versão neste site - que tem uma visão geral muito clara:

link

O resultado é que não há muitas diferenças entre o XP e o win7 - apenas os menores e as mudanças para adicionar parâmetros - não para alterá-los (com exceção do parâmetro / mir) . E eu acho que é seguro dizer que o mecanismo de comparação não terá mudado - já que isso seria uma coisa enorme se comparado à pequena mudança de adicionar mais parâmetros.

Esta é provavelmente a razão pela qual não há documentação nova.

Espero que ajude se você estiver procurando as mesmas informações e estiver lendo isso. Eu tentei ser preciso e fiz minha pesquisa com cuidado.

    
por 01.08.2014 / 19:30

Tags