Citat:
Ursprungligen postat av
batteritorsk
vore tacksamt , eller om någon annan har nått tips på bra programvara som rensar ?
Kolla det här.
OBS 1! Skriptet går igenom filerna i en path
rekursivt så testa först i säker miljö. Eller ta bort "-Recurse" på rad 3
OBS 2! Skriptet
raderar filer (och flyttar dem inte till en papperskorge eller liknande så det är oåterkalleligt)
Ändra
$pathAndExtension till "*.jpg" för att t.ex. ta bort .jpg-dubletter.
För att undvika oklarhet om vilken mapp som den rekursiva sökningen ska utgå ifrån, så ange gärna full path, t.ex. $pathAndExtension="C:/UserName/Images/*.jpg"
Jag skulle enbart använda detta skript på Downloads-mappen eller liknande, absolut inte i en path där det finns systemfiler eller applikationsfiler, eftersom rekursiva dubbletter kan vara fullt befogade och nödvändiga där.
Det tar nog en stund att tugga igenom 200K filer, så ha kaffet i beredskap
[PHP]$pathAndExtension ="*.pdf"
$duplicates = Get-ChildItem $pathAndExtension -File -Recurse -ErrorAction SilentlyContinue | Get-FileHash | Group-Object -Property Hash | Where-Object Count -GT 1
if ($duplicates.Length -eq 0){
echo "No duplicates in path $pathAndExtension"
}
foreach($duplicate in $duplicates){
$files=$duplicate.Group.Path
for($i=1; $i -lt $files.Length; $i+=1){
$removefile=$files[$i]
echo "Removing $removefile"
Remove-Item $removefile
}
}
[/PHP]
Disclaimer: Funktionaliteten att söka efter dubletter kommer
härifrån, så kika in den också, där är det selektivt för användare, som funkat bättre för litet antal filer.