Pesquisa de arquivos binários no Windows 8?

3

Estou em uma situação estranha. Eu preciso encontrar um arquivo com base em seu conteúdo, não o nome porque o nome não é exclusivo ...

Por exemplo, eu tenho um arquivo chamado "cat.jpg". É uma foto de um gato. Eu tenho 5 milhões de cópias em 5 milhões de pastas diferentes, então, enquanto os nomes das pastas são diferentes, os nomes dos arquivos são os mesmos:

cat1/cat.jpg
cat2/cat.jpg
cat3/cat.jpg
etc...

No entanto, um desses cat.jpgs é na verdade uma imagem de um cachorro (e o arquivo ainda é chamado de "cat.jpg")

Como posso encontrar o que é um cão supondo que eu tenha uma cópia exata disponível. Eu não posso fazer pesquisa de nome de arquivo porque então eu só vou conseguir 5 milhões de resultados de "cat.jpg"

    
por AlexRamallo 25.03.2013 / 23:50

3 respostas

2

Veja um exemplo usando fc.exe com o sinalizador de comparação binária:

for /R "C:\Some Path" %f in (*.jpg) do @(FC /B "C:\Some Other Path Maybe\dog.jpg" "%f" | FIND "FC: no differences encountered.") && echo %f

Isso recursivamente percorrerá os arquivos e pastas em C:\Some Path , atribuindo os JPEGs a %f . FC canalizará a saída da comparação com dog.jpg e %f para o utilitário de comparação de strings, FIND .

Se os arquivos corresponderem à saída de FC , será FC: nenhuma diferença encontrada.

O && significa que echo %f irá disparar se essa string for encontrada por FIND .

Então, se houver uma correspondência, você verá algo como

FC: no differences encountered.
C:\Some Path\cat5000000\cat.jpg
    
por 26.03.2013 / 02:13
1

Apesar de não ser uma pesquisa binária, você pode usar o powershell para chegar perto (supondo que todas as imagens sejam exatamente as mesmas, exceto a imagem ...)

link

Basicamente, encontre os detalhes que você precisa verificar e, em seguida, use o Powershell para pesquisar cada imagem e, em seguida, compare:

http://technet.microsoft.com/en-us/library/ee156812.aspx

Você pode usar o objeto de comparação para verificar o objeto também. De qualquer maneira deve funcionar, mas o segundo método seria melhor / mais fácil.

    
por 26.03.2013 / 00:25
0

Se você tiver uma cópia exata disponível, quando souber o tamanho do arquivo, poderá pesquisar por cat.jpg size:n.nnKB ou, mais especificamente, em bytes: cat.jpg size:nB .

Se você tem o tamanho do arquivo e não sabe o nome, procurar apenas size:nB também deve funcionar bem, ou pelo menos reduzi-lo consideravelmente.

    
por 26.03.2013 / 00:18