twistuba
Goto Top

Dateien vergleichen innerhalb eines Verzeichnis

Hallo zusammen,

als Neuling in Powershell habe ich eine Frage.

ich möchte gerne doppelte Bilder meiner Handy Sicherung mir anzeigen lassen, ggf. löschen.

Was ich bisher gefunden habe ist das ich mir den Ordner mit Inhalten anzeigen kann, ab einer Dateigröße von 100KB.

Get-ChildItem $QuelleA | where-Object {$_.Length -gt 100KB}

Aber ich habe absolut keine Ahnung wie ich die einzelnen Bilder in ein Array reinbekommen würde und sie untereinander vergleichen könnte.

Würde mich freuen, wenn mir jemand helfen kann.

Gruß Thomas

Content-ID: 1832580622

Url: https://administrator.de/forum/dateien-vergleichen-innerhalb-eines-verzeichnis-1832580622.html

Ausgedruckt am: 10.04.2025 um 18:04 Uhr

colinardo
Lösung colinardo 04.02.2022 aktualisiert um 14:46:32 Uhr
Goto Top
Servus,
zum anzeigen lassen der gleichen Dateien (Vergleich per Hash ermittelt)
$QuelleA = 'D:\Quellordner'  
Get-ChildItem $QuelleA -File | ? Length -gt 100KB | group {(Get-FileHash $_.Fullname -Algorithm SHA256).Hash} | ? Count -ge 2 | %{ "$($_.Group.Name -join "`n")`n$('='*80)"}  
Zum direkten Löschen der Duplikate mit übrig lassen einer davon.
$QuelleA = 'D:\Quellordner'  
Get-ChildItem $QuelleA -File | ? Length -gt 100KB | group {(Get-FileHash $_.Fullname -Algorithm SHA256).Hash} | ? Count -ge 2 | %{$_.Group | select -Skip 1 | remove-item -Force -verbose}
Grüße Uwe
twistuba
twistuba 04.02.2022 um 14:51:42 Uhr
Goto Top
super das ging aber schnell, und macht genau das was ich möchte ... ich danke dir
twistuba
twistuba 04.02.2022 um 14:53:42 Uhr
Goto Top
gibt es auch eine Möglichkeit recursive zu durchsuchen ?
colinardo
colinardo 04.02.2022 aktualisiert um 14:57:44 Uhr
Goto Top
Zitat von @twistuba:

gibt es auch eine Möglichkeit recursive zu durchsuchen ?
Brauchst du nur den entsprechenden Parameter bei Get-ChildItem hinzufügen, der Rest bleibt gleich
Get-ChildItem $QuelleA -File -Recurse |  ......
twistuba
twistuba 04.02.2022 um 14:57:17 Uhr
Goto Top
prima, thx
PeterleB
PeterleB 07.02.2022 um 10:37:51 Uhr
Goto Top
Hallo,

kleine Frage.
Ist der Hash-Wert definitiv Beweis für gleiches Bild / gleiche Datei?

Gruß
Peter
colinardo
colinardo 07.02.2022 aktualisiert um 10:58:33 Uhr
Goto Top
Zitat von @PeterleB:
kleine Frage.
Ist der Hash-Wert definitiv Beweis für gleiches Bild / gleiche Datei?
Bei aktuellen Hash-Algorithmen wie SHA256 etc. ist es sehr sehr sehr unwahrscheinlich das es auf ein und dem selben System zu Hash Kollisionen (gleicher Hashwert bei unterschiedlichen Daten) kommt. Bei MD5 ist das schon eher möglich wenn auch noch sehr selten.
https://de.wikipedia.org/wiki/Message-Digest_Algorithm_5#Kollisionsresis ...
https://crypto.stackexchange.com/questions/47809/why-havent-any-sha-256- ...

Also ja bei Verwendung aktuellen Hash-Algos ist ein Hash-Vergleich zur Zeit eine sichere Methode, auf jeden Fall 1000 mal besser als sich nur auf Datei/Änderungsdatum etc. zu verlassen!
PeterleB
PeterleB 07.02.2022 aktualisiert um 23:40:22 Uhr
Goto Top
Hi,

Dankeschön für die Erklärung.
Ich lese mir das auf jeden Fall mal durch.
Es gibt ja auch PictureDuplikateFinder als Software.
Machen die das auch so?

Gruß
Peter
colinardo
colinardo 08.02.2022 aktualisiert um 08:07:47 Uhr
Goto Top
Zitat von @PeterleB:

Hi,

Dankeschön für die Erklärung.
Ich lese mir das auf jeden Fall mal durch.
Es gibt ja auch PictureDuplikateFinder als Software.
Machen die das auch so?
Die nutzen meist eine Kombination aus CRC32 Check + Filesize Vergleich weils schneller geht. Reine Hash-Calculation ist aber noch genauer, braucht aber länger vor allem bei größeren Dateien.