
Digamos que eu tenha dois arquivos c:\f1\data.txt
e c:\f2\data.txt
.
Se eu emitir o comando
copy c:\f2\data.txt c:\f1\data\
Receberei um aviso sobre a possível substituição. Receberei o mesmo aviso, como uma caixa de diálogo, se tentar arrastar e soltar graficamente data.txt
no c:\f2\
arquivo c:\f1
. Esse comportamento se deve ao fato dos arquivos possuírem o mesmo nome ( data.txt
). Estou feliz com esse comportamento, mas gostaria de estendê-lo também aos arquivoscom nomes diferentes, mas com o mesmo conteúdo.
Digamos que eu tenha dois arquivos c:\f1\foo.txt
e c:\f2\bar.txt
digamos que foo.txt
contenha uma linha Hello World!
e bar.txt
contenha uma linha Hello World!
, então foo.txt
e bar.txt
tenha o mesmo conteúdo, agora o comando
copy c:\f2\bar.txt c:\f1\
terá sucesso, mas eu gostaria que fracassasse.
Eu ficaria feliz em ter esse comportamento apenas para uma pasta. Existe algum software para atingir meu objetivo?
Responder1
Não consigo pensar em nenhum programa que faça isso.
Você pode facilmente escrever um script ou aplicativo para fazer uma comparação antes de uma cópia e avisar se eles forem idênticos. No entanto... há sempre uma ressalva. Como você faz a comparação? Como você está lidando com arquivos de texto, os dados podemaparecerser o mesmo, mas não é. Veja os seguintes exemplos:
Isto é um teste.
e
Isto é um teste.
As linhas parecem exatamente iguais. No entanto, para um computador eles são diferentes. Pegue o mouse, clique com o botão esquerdo e segure e destaque o primeiro exemplo. Em seguida, destaque a segunda linha. Veja a diferença? Há um espaço após o ponto final do segundo exemplo. Essas strings, embora transmitam as mesmas informações, não são idênticas. Mesmo uma diferença de um único caractere, 1 byte, permitiria a cópia. Se você concordar com isso, o aplicativo ou script é muito fácil. Eu recomendaria apenas obter os valores de hash dos dois arquivos e comparar esse valor. Se os valores forem iguais, avise e negue a cópia.
Responder2
UltraComparepode fazer o que quiser se definir algumas regras de sincronização, como você pode veraqui.