Windows 10下如何批量校验文件与MD5校验和列表是否匹配
Windows 10下如何批量校验文件与MD5校验和列表是否匹配
别担心,我来教你用Windows 10自带的工具批量完成MD5校验,不用额外安装软件,步骤清晰好操作!
第一步:准备好校验和文件
首先把你截图里的770条MD5校验和整理成一个纯文本文件(比如命名为md5list.txt),确保每行的格式是**MD5值 文件名**(比如d41d8cd98f00b204e9800998ecf8427e readme.txt)。如果文件名里有空格,也不用特意处理,后续命令能识别。
方法一:用命令提示符(CMD)批量校验
- 打开命令提示符:按下Win+R,输入
cmd回车。 - 切换到文件所在的目录:比如你的文件都在
D:\Downloads文件夹里,就输入cd /d D:\Downloads回车。 - 执行下面的命令:
for /f "tokens=1,2*" %a in (md5list.txt) do certutil -hashfile "%c" MD5 | find /v "hash" | find /v "CertUtil" | find /i "%a" || echo 文件%c校验失败!
- 命令解释:循环读取
md5list.txt里的每一行,提取MD5值和文件名,自动计算对应文件的MD5并对比;如果校验不匹配,会输出“文件XXX校验失败!”的提示,没有提示的就是校验通过的文件。
方法二:用PowerShell批量校验(更直观)
PowerShell的输出会用颜色区分结果,看起来更清楚:
- 打开PowerShell:按下Win+X,选择“Windows PowerShell”(或“终端”里的PowerShell)。
- 切换到文件所在目录:比如输入
cd D:\Downloads回车。 - 复制粘贴下面的脚本并执行:
Get-Content md5list.txt | ForEach-Object { $parts = $_ -split '\s+', 2 $expectedHash = $parts[0].ToLower() $fileName = $parts[1] if (Test-Path $fileName) { $actualHash = (Get-FileHash -Path $fileName -Algorithm MD5).Hash.ToLower() if ($actualHash -eq $expectedHash) { Write-Host "$fileName 校验通过" -ForegroundColor Green } else { Write-Host "$fileName 校验失败!预期:$expectedHash 实际:$actualHash" -ForegroundColor Red } } else { Write-Host "$fileName 不存在!" -ForegroundColor Yellow } }
- 执行后,绿色文字是校验通过的文件,红色是校验失败的,黄色是找不到的文件,一目了然。
注意事项
- 确保
md5list.txt里的文件名和实际文件名完全一致(Windows默认不区分大小写,但最好保持一致避免问题)。 - 如果文件不在当前目录,可以在脚本里修改文件名的路径,比如把
$fileName改成D:\Downloads\$fileName。
备注:内容来源于stack exchange,提问作者Franck Dernoncourt
相关产品推荐
相关产品推荐

