Como gerar o valor de hash MD5 para vários arquivos em uma pasta usando cmd

2

Como mencionado em nesta página , o comando:

CertUtil -hashfile yourFileName MD5
pode ser usado para obter o valor do hash MD5 para um arquivo específico.

Como posso encontrar os valores de hash MD5 para vários arquivos em uma pasta usando o cmd?

    
por Hari 11.09.2017 / 17:47

3 respostas

4

Você pode usar o seguinte script:

for %%f in (*) do (
certutil -hashfile "%%f" MD5
)
    
por 11.09.2017 / 18:25
2

A maneira padrão de executar um comando em vários arquivos no CMD é o comando for . Você pode obter informações de uso digitando for /? . Uma solução simples para o seu problema é

for %F in (*) do @certutil -hashfile "%F" MD5

Aqui %F é uma variável. Você pode escolher uma letra - qualquer única letra - para o nome da variável (use o mesmo nome em ambos os lugares, claro) - e observe que é sensível a maiúsculas e minúsculas ( %F não é o mesmo que %f ). Se você fizer isso em um script, use sinais de porcentagem dupla (por exemplo, %%F ).

As aspas em torno da segunda aparição da variável ( "%F" ) (como sugerido por resposta da nullterminatedstring ) são necessários se algum dos nomes de arquivo contiver espaços.

Você pode colocar uma lista de nomes de arquivos e / ou curingas entre os parênteses; por exemplo,

for %F in (file1 file2 a* b*) do …

certutil é um pouco detalhado. Você pode querer diminuir a tagarelice dizendo

for %F in (*) do @certutil -hashfile "%F" MD5 | find /v "hashfile command completed successfully"

(para filtrar as mensagens command completed successfully ).

    
por 11.09.2017 / 18:26
0

Eu sei que você pediu especificamente pelo cmd, mas se você estiver usando o Windows 8.1 ou superior, considere usar o Powershell:

Get-FileHash -Algorithm MD5 -Path (Get-ChildItem "\path\to\files\*.*" -Recurse)

O interruptor Recurse é, obviamente, opcional. Você pode canalizá-lo para Export-Csv para obter uma lista de arquivos e seus hashes.

Você pode usar isso no Windows 7, mas é necessário atualizar o Powershell para a versão 4 primeiro.

    
por 11.09.2017 / 20:13