Hoe vind ik dubbele bestanden in twee mappen?
Dubbele bestanden opsporen en verwijderen met PowerShell
Heb je twee mappen vol bestanden en vermoed je dat er duplicaten tussen zitten? Handmatig zoeken is tijdrovend en frustrerend. Gelukkig biedt Windows PowerShell een krachtige en efficiënte manier om dubbele bestanden te identificeren en te verwijderen, ongeacht het bestandstype. Deze gids laat je stap voor stap zien hoe je dit doet.
1. Open PowerShell als administrator:
Zoek naar "PowerShell" in het Windows startmenu, klik met de rechtermuisknop en selecteer "Als administrator uitvoeren".
2. Definieer de mappen:
Definieer de paden naar de twee mappen die je wilt vergelijken. Gebruik variabelen voor een overzichtelijke script. Vervang C:Map1 en C:Map2 met de daadwerkelijke paden naar jouw mappen. Let op het gebruik van enkele aanhalingstekens rondom de paden, vooral als ze spaties bevatten.
$Map1 = 'C:Map1'
$Map2 = 'C:Map2'
3. Genereer een lijst met bestandsinformatie:
Gebruik de Get-ChildItem cmdlet om een lijst te genereren met alle bestanden in beide mappen, inclusief hun grootte en hashwaarde. De hashwaarde zorgt ervoor dat we de inhoud van de bestanden vergelijken, niet alleen de naam en grootte.
$BestandenMap1 = Get-ChildItem -Path $Map1 -File | Get-FileHash -Algorithm MD5 | Select-Object Hash, Path
$BestandenMap2 = Get-ChildItem -Path $Map2 -File | Get-FileHash -Algorithm MD5 | Select-Object Hash, Path
4. Identificeer de duplicaten:
Vergelijk de hashwaarden van de bestanden in beide lijsten. De Compare-Object cmdlet is hierbij ideaal. We selecteren alleen de bestanden uit $BestandenMap2 die ook in $BestandenMap1 voorkomen.
$Duplicaten = Compare-Object -ReferenceObject $BestandenMap1 -DifferenceObject $BestandenMap2 -Property Hash -IncludeEqual -PassThru | Where-Object {$_.SideIndicator -eq "=>"}
5. Toon de duplicaten (optioneel):
Voordat je de bestanden verwijdert, is het verstandig om de resultaten te controleren.
$Duplicaten | Format-List
Dit toont de hash en het pad van elk duplicaat in $Map2.
6. Verwijder de duplicaten:
Gebruik de Remove-Item cmdlet om de duplicaten te verwijderen. Let op: Deze actie is onomkeerbaar!
$Duplicaten | ForEach-Object { Remove-Item -Path $_.Path -Force }
De -Force parameter zorgt ervoor dat ook verborgen en systeembestanden worden verwijderd. Gebruik deze met voorzichtigheid!
7. Alternatieve verwijdermethode (veiliger):
Om te voorkomen dat je per ongeluk belangrijke bestanden verwijdert, kun je de duplicaten eerst naar een andere map verplaatsen.
$Duplicaten | ForEach-Object { Move-Item -Path $_.Path -Destination 'C:DuplicatenBackup' -Force }
Vervang C:DuplicatenBackup met het pad naar de map waar je de duplicaten wilt bewaren. Controleer de inhoud van deze map zorgvuldig voordat je deze definitief leegmaakt.
Door deze stappen te volgen, kun je efficiënt en veilig dubbele bestanden in twee mappen opsporen en verwijderen met behulp van Windows PowerShell. Pas de script variabelen aan naar jouw specifieke behoeften en controleer altijd de resultaten voordat je bestanden verwijdert.
- Hoeveel borg betaal je bij een Avis?
- Is een Apple laptop goed voor school?
- Wie bepaalt de prijs van medicijnen?
- Hoe begin je een samenwerking?
- Is een architect een bouwkundige?
- Wat is beter, 128 GB of 256 GB?
- Is het gezond om een blikje mais te eten
- Kan je een banaan eten als ontbijt?
- Kan je ziek worden van zachtgekookt ei?
- Wat verdient een ZZP interieurstylist?
Reageer op het antwoord:
Bedankt voor je feedback! Je reactie helpt ons enorm om de antwoorden in de toekomst te verbeteren.