我正在尝试通过检查哈希来删除重复的图像,我发现这个代码很好用,但我遇到了问题。
ls $folder\*.* -recurse | get-filehash | group -property hash | where { $_.count -gt 1 } | % { $_.group | select -skip 1 } | del
间隔代码
ls $folder\*.* -recurse |
get-filehash |
group -property hash |
where { $_.count -gt 1 } |
% { $_.group | select -skip 1 } |
del
如果文件名包含“[”或“]”,则不会删除图像。 我知道你可以用del来做-LiteralPath,但是它之后需要一个字符串,我不知道如何使用管道。
答案 0 :(得分:0)
我忘了它是通过Get-FileHash和Group-Object传递的。试试这个:
ls $folder\*.* -recurse |
get-filehash |
group -property hash |
where { $_.count -gt 1 } |
% { $_.group |
select -skip 1 |
% {
del -LiteralPath $_.Path
}
}
这有点奇怪,因为它保留哪个文件以及删除哪个文件会相当随意,但从技术上讲这应该可行。