Qual é o melhor método para remover arquivos de imagem duplicados do seu computador?

14

Eu tenho muitos arquivos de imagem duplicados no meu computador Windows, em subpastas diferentes e com nomes de arquivo diferentes.

Qual script Python ou programa freeware você recomendaria para remover as duplicatas?

(Eu li esta pergunta semelhante, mas o cartaz está perguntando sobre duplicatas visuais com Diferentes tamanhos de arquivo. Os meus são duplicatas exatas com diferentes nomes de arquivo.)

    
por BioGeek 01.01.2009 / 23:57

6 respostas

17

Não confie em somas MD5.

As somas MD5 não são uma maneira confiável de verificar duplicatas, elas são apenas uma maneira de verificar as diferenças.

Use MD5s para encontrar duplicatas possíveis candidatas e, em seguida, para cada par que compartilha um MD5

  1. Abre os dois arquivos
  2. Procura esses arquivos até que um seja diferente.

Estou vendo downvoted por pessoas fazendo abordagens ingênuas para arquivar Identidade duplicada, Se você for confiar inteiramente em um algoritmo de hash, pelo amor de Deus, use algo mais difícil como SHA256 ou SHA512 , pelo menos você reduzirá a probabilidade a um grau razoável, tendo mais bits verificados. MD5 é extremamente fraco para condições de colisão.

Eu também aconselho as pessoas a lerem listas de discussão aqui intituladas 'verificação de arquivos': link

Se você disser "O MD5 pode identificar exclusivamente todos os arquivos exclusivamente", você terá um erro lógico.

Dado um intervalo de valores, de comprimentos variados de 40.000 bytes de comprimento a 100.000.000.000 bytes de comprimento, o número total de combinações disponíveis para esse intervalo muito excede o número possível de valores representados por MD5, pesando apenas 128 bits de comprimento.

Representa 2 ^ 100.000.000.000 combinações com apenas 2 ^ 128 combinações? Eu não acho isso provável.

O caminho menos ingênuo

A maneira menos ingênua e mais rápida de eliminar duplicatas é a seguinte.

  1. Por tamanho : arquivos com tamanho diferente não podem ser idênticos. Isso leva pouco tempo, pois não precisa abrir o arquivo.
  2. Por MD5 : Arquivos com valores diferentes de MD5 / Sha não podem ser idênticos. Isso leva um pouco mais de tempo porque ele tem que ler todos os bytes no arquivo e fazer a matemática neles, mas faz várias comparações mais rápidas.
  3. Falha nas diferenças acima : execute uma comparação byte a byte dos arquivos. Este é um teste lento para executar, e é por isso que é deixado até depois que todos os outros fatores eliminadores tenham sido considerados.

Fdupes faz isso. E você deve usar um software que use os mesmos critérios.

    
por 02.01.2009 / 00:13
10

É um liner em sistemas operacionais (como linux) do tipo unix ou Windows com o Cygwin instalado:

find . -type f -print0 | xargs -0 shasum | sort |
  perl -ne '$sig=substr($_, 0, 40); $file=substr($_, 42); \
    unlink $file if $sig eq $prev; $prev = $sig'

O md5sum (que é cerca de 50% mais rápido) pode ser usado se você souber que não há colisões deliberadamente criadas (você teria mais chances de ganhar 10 loterias principais do que a chance de encontrar uma colisão md5 natural).

Se você quiser ver todos os dups em vez de removê-los, basta alterar a unlink $file part para print $file, "\n" .

    
por 02.01.2009 / 02:03
6

Eu usei fdupes (escrito em C) e freedups (Perl) em sistemas Unix, e eles podem funcionar no Windows também; há também outros que dizem trabalhar no Windows: dupmerge , liten (escrito em Python), etc.

    
por 02.01.2009 / 00:37
2

Para remover imagens duplicadas no Windows, dê uma olhada no DupliFinder. Ele pode comparar imagens por vários critérios, como nome, tamanho e informações reais da imagem.

Para outras ferramentas para remover arquivos duplicados, dê uma olhada neste artigo do Lifehacker .

    
por 02.01.2009 / 00:42
1

Em vez do DupliFinder, tente o projeto bifurcado, DeadRinger . Corrigimos uma tonelada de bugs no projeto original, adicionamos vários novos recursos e melhoramos drasticamente o desempenho.

    
por 15.08.2009 / 01:47
1

Uma opção pode ser Dupkiller .

DupKiller is one of the fastest and the most powerful tools for searching and removing duplicate or similar files on your computer. Complicated algorithms, built in its searching mechanism, perform high results — rapid file search. A lot of options allow to flexibly customizing the search.

enter image description here

    
por 03.11.2010 / 13:22