用powershell写一段查找重复文件的代码
时间: 2024-04-18 14:30:42 浏览: 14
当然,下面是一段用 PowerShell 编写的查找重复文件的代码:
```powershell
# 指定要搜索的文件夹路径
$folderPath = "C:\Path\To\Folder"
# 获取文件夹中所有文件
$files = Get-ChildItem -Path $folderPath -File -Recurse
# 创建一个字典来存储文件的哈希值和路径
$hashDict = @{}
# 遍历所有文件
foreach ($file in $files) {
# 计算文件的哈希值
$hash = Get-FileHash -Path $file.FullName -Algorithm MD5 | Select-Object -ExpandProperty Hash
# 检查哈希值是否已存在于字典中
if ($hashDict.ContainsKey($hash)) {
# 如果已存在,则输出重复文件路径
Write-Host "Duplicate file found: $($file.FullName)"
Write-Host "Original file path: $($hashDict[$hash])"
Write-Host
}
else {
# 如果不存在,则将哈希值和文件路径添加到字典中
$hashDict[$hash] = $file.FullName
}
}
```
你可以将 `C:\Path\To\Folder` 替换为你要搜索的文件夹路径,然后运行这段代码,它将查找并输出重复的文件路径以及原始文件的路径。请注意,这段代码使用 MD5 算法计算文件的哈希值,你也可以根据需要更改算法。