商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > 如何在 Windows 中批量提取文件夹内文件的 MD5/SHA256 值 校验方法

如何在 Windows 中批量提取文件夹内文件的 MD5/SHA256 值 校验方法

  发布于2026-05-21 阅读(0)

扫一扫,手机访问

在处理大量文件时,批量获取其哈希值(如MD5或SHA256)是验证文件完整性、生成校验清单的常见需求。其实,无需借助第三方软件,Windows系统本身就提供了几种相当高效的原生方法。无论是简单的文本记录,还是结构化的报告,都能轻松实现。

如何在 Windows 中批量提取文件夹内文件的 MD5/SHA256 值 校验方法

下面就来详细拆解这几种方案,你可以根据对输出格式和灵活性的要求来选择。

一、使用 certutil 批量计算并输出到文本文件

最直接的方法莫过于使用系统自带的 certutil 命令。它无需安装,通过命令行就能遍历文件并逐个计算哈希,结果可以直接保存到一个文本文件里,方便归档和后续比对。

操作起来很简单:首先,按 Win + R 打开“运行”框,输入 cmd 启动命令提示符。接着,用 cd /d 命令切换到你的目标文件夹,比如:cd /d D:\Downloads\packages

关键的一步是执行循环命令。例如,要计算当前目录下所有 .exe 文件的 SHA256 值并保存,就输入:

for %f in (*.exe) do @certutil -hashfile "%f" SHA256 >> hashes_sha256.txt

如果需要的是 MD5 值,只需把命令末尾的 SHA256 换成 MD5,同时建议将输出文件名也相应改为 hashes_md5.txt,以免覆盖之前的文件。

命令执行后,在当前目录下就会生成对应的文本文件。打开看看,每条记录都包含文件名和两行输出,其中第二行就是纯净的哈希字符串,直接复制使用即可。

二、使用 PowerShell 脚本批量获取并结构化输出

如果你希望得到更规整、便于程序处理的结果,PowerShell 是更强大的选择。它能把文件哈希信息当作对象来处理,轻松导出为 CSV 格式,用 Excel 打开分析再合适不过。

首先,右键点击开始菜单,选择 Windows PowerShell(管理员) 来启动。然后,使用 Set-Location 命令切换到目标文件夹路径。

核心命令是 Get-FileHash。比如,要批量计算所有文件的 SHA256 并导出,可以运行:

Get-ChildItem * | Get-FileHash -Algorithm SHA256 | Select-Object Algorithm, Hash, Path | Export-Csv -Path "sha256_report.csv" -Encoding UTF8 -NoTypeInformation

这条命令会获取当前目录所有文件,计算其SHA256哈希,然后选取算法、哈希值和文件路径这三个字段,最终输出为一个 UTF-8 编码的 CSV 文件,并且不包含类型信息头。

同理,要生成 MD5 报告,只需把算法参数换成 MD5,并指定另一个文件名即可。生成的 CSV 文件中,Hash 字段就是大写的、无空格的十六进制字符串,非常规范。

三、使用 7-Zip 命令行(7z.exe)批量生成哈希列表

对于已经安装了 7-Zip 的用户,其命令行工具 7z.exe 也是一个不错的选择。它的输出格式简洁,默认包含文件大小和哈希值,一目了然,特别适合在脚本环境中使用。

使用前,请确保 7z.exe 所在的目录已添加到系统的 PATH 环境变量中,或者直接在它的安装目录(例如 C:\Program Files\7-Zip)下操作。同样,先用 cd 命令进入待处理的文件夹。

计算哈希的命令格式略有不同。例如,要批量计算所有 .zip 文件的 SHA256,可以执行:

for %f in (*.zip) do @7z h -scrcsha256 "%f" >> sha256_7z.log

如果需要 MD5,则将参数 -scrcsha256 替换为 -scrcmd5。命令执行后,哈希结果会追加到指定的日志文件里。

打开日志文件,你会看到每行格式类似:a1b2c3d4... 1048576 filename.zip。最前面是小写的哈希值,中间是文件大小(字节数),最后是文件名。这种格式对于快速人工核对非常友好。

四、通过批处理文件(.bat)一键执行多算法批量校验

最后一种方法,是将上述操作封装成一个批处理脚本。它的好处是“一键搞定”,特别适合需要为同一批文件同时生成 MD5 和 SHA256 两种校验报告的场景,避免了重复劳动。

制作方法也不难:打开记事本,新建一个文件,把下面的代码复制进去。

@echo off
setlocal enabledelayedexpansion
set "FOLDER=%~dp0"
cd /d "%FOLDER%"
echo 正在批量计算 MD5... > md5_batch.log
for %%f in (*.*) do certutil -hashfile "%%f" MD5 >> md5_batch.log
echo. >> md5_batch.log
echo 正在批量计算 SHA256... > sha256_batch.log
for %%f in (*.*) do certutil -hashfile "%%f" SHA256 >> sha256_batch.log

然后,将这个文件保存为 batch_hash.bat,并把它放到你想要计算哈希的文件所在的文件夹里。直接双击运行这个 .bat 文件,脚本就会自动工作。

运行完毕后,在当前目录下,你会找到 md5_batch.logsha256_batch.log 两个日志文件。每个文件里,每个文件的哈希信息独立成组,第二行的哈希值就是可以直接用于比对的纯字符串。使用时,注意检查一下是否有不可见的控制字符混入即可。

以上这四种方法,从简单命令行到结构化报告,再到一键化脚本,基本覆盖了Windows下批量获取文件哈希的常见需求。选择哪一种,就看你的具体场景和偏好了。

本文转载于:https://www.php.cn/faq/2423718.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注