要在Windows下计算目录及其子目录下所有文件的MD5值,你可以使用PowerShell脚本来实现。以下是一个示例脚本:
# 导入System.Security.Cryptography命名空间
Add-Type -TypeDefinition @"
using System;
using System.IO;
using System.Security.Cryptography;
"@
# 计算文件的MD5哈希值
function Get-FileMD5($filePath) {
$md5 = [MD5]::Create()
$stream = [System.IO.File]::OpenRead($filePath)
$hash = [BitConverter]::ToString($md5.ComputeHash($stream))
$stream.Close()
return $hash.Replace("-", "").ToLower()
}
# 递归计算目录下的所有文件的MD5值
function Get-DirectoryMD5($directoryPath) {
$files = Get-ChildItem $directoryPath -File -Recurse
$md5Hashes = @()
foreach ($file in $files) {
$md5Hash = Get-FileMD5 $file.FullName
$md5Hashes += "$md5Hash $($file.FullName)"
}
return $md5Hashes
}
# 要计算的目录路径
$directoryPath = "C:\Your\Directory\Path"
# 获取目录下所有文件的MD5值
$md5Hashes = Get-DirectoryMD5 $directoryPath
# 将MD5值保存到文件
$md5Hashes | Out-File -FilePath "C:\MD5Hashes.txt"
Write-Host "MD5哈希值已计算并保存到C:\MD5Hashes.txt"

