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?
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?
Respostas:
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 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 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.,
for %F in (file1 file2 a* b*) do …
certutil
é um pouco detalhado.
Você pode querer diminuir a conversa dizendo
for %F in (*) do @certutil -hashfile "%F" MD5 | find /v "hashfile command completed successfully"
(para filtrar o command completed successfully
mensagens).
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:
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ê posso use isso no Windows 7, mas você precisa atualizar o Powershell para a versão 4 primeiro.