有几篇关于在各种 Windows 平台上为文件和/或文件夹生成 MD5 和的帖子。然而,没有任何这些对我有用。我试过:
- 视窗证书实用程序:
CertUtil -hashfile myFileName MD5
返回“访问被拒绝“在所有文件夹上(我的cmd
以管理员权限运行), - 标签:没有像宣传的那样显示在资源管理器的“属性”对话框中,
- 夏季房产:在属性对话框中也不会显示,
- 哈希校验:不允许对文件夹进行 MD5 测试,只允许对文件进行 MD5 测试,
- md5检查器:不计算整个文件夹的 MD5(仅计算其中的文件)。
这时我开始有点绝望了。请注意,我使用的是 Windows 7 x64。
为了获得信息,如果可能的话,我正在尝试寻找一个可以在 Linux 中允许类似操作的工具:
find DIR -type f -exec md5sum {} \; | sort -k 2 | md5sum
答案1
这些都不能满足我的需要所以我想出了这个替代方案......
@echo off
for /R . %%f in (*.*) do (
echo | set/p="%%f - "
certutil -hashfile "%%f" MD5 | findstr /V ":"
)
每个文件一行,以“<路径><文件名> - <哈希>”格式输出。
答案2
如果你想使用 GUI,我推荐Fsum 前端。
Fsum Frontend 是一款免费且易于使用的工具,可用于计算文件和文本字符串的消息摘要、校验和和 HMAC。它支持拖放和您可以同时处理多个文件. 生成的校验和可用于验证文件的完整性。
它支持 96 种算法:[...] md5 [...]
顾名思义,Fsum Frontend 是一个 GUI(其中包括)SlavaSoft 简体中文。
一个快速、方便的命令行实用程序,用于文件完整性验证。它提供了 13 种最流行的哈希和校验和函数供您选择,用于文件消息摘要和校验和计算。
其特点包括:
- 采取行动的可能性递归地.FSUM不仅可以对特定目录下的文件进行操作,还可以对指定目录下所有子目录下的文件进行操作;
- 合作大尺寸文件. (针对最大 15 GB 的文件大小进行测试);
- 满的与 md5sum 兼容公用事业
答案3
您可以使用以下命令实现与 Unix 命令等效的功能(减去排序):
for /R . %f in (*.*) do @certutil -hashfile "%f" MD5
您可以将点 ( .
) 更改为您想要递归的任何文件夹,并将其更改*.*
为您需要的任何文件掩码,以缩小文件集。
答案4
HashCheck Shell 扩展(档案) 可用于获取目录的哈希值。这可以通过以下方式完成:
- 对目录使用 HashCheck。
- 这将生成一个
.md5
文件,其中包含该目录中每个文件的哈希值列表,包括子目录中的所有文件。 .md5
对上面生成的文件再次使用 HashCheck 。- 最终生成的
.md5
文件包含整个目录的哈希值。