Como mencionado em esta página , o comando:
CertUtil -hashfile yourFileName MD5pode ser usado para obter o valor de 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?
Você poderia usar o seguinte script:
for %%f in (*) do (
certutil -hashfile "%%f" MD5
)
A maneira padrão de executar um comando em vários arquivos no CMD é o
for
comando. Você pode obter informações de uso digitandofor /?
. Uma solução simples para o seu problema éAqui
%F
é uma variável. Você pode escolher uma carta - qualquer solteiro carta - 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 de strings terminadas em null ) 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.,
certutil
é um pouco detalhado. Você pode querer diminuir a conversa dizendo(para filtrar o
command completed successfully
mensagens).fonte
Eu sei que você pediu especificamente para cmd, mas se você estiver usando o Windows 8.1 ou superior, considere o uso de Powershell em vez disso:
O interruptor Recurse é, obviamente, opcional. Você pode canalizá-lo para
Export-Csv
para obter uma lista de arquivos e seus hashes.Você posso use isso no Windows 7, mas você precisa atualizar o Powershell para a versão 4 primeiro.
fonte