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.
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1832580622
Url: https://administrator.de/forum/dateien-vergleichen-innerhalb-eines-verzeichnis-1832580622.html
Ausgedruckt am: 10.04.2025 um 18:04 Uhr
9 Kommentare
Neuester Kommentar
Servus,
zum anzeigen lassen der gleichen Dateien (Vergleich per Hash ermittelt)
Zum direkten Löschen der Duplikate mit übrig lassen einer davon.
Grüße Uwe
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)"}
$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}
Brauchst du nur den entsprechenden Parameter bei Get-ChildItem hinzufügen, der Rest bleibt gleich
Get-ChildItem $QuelleA -File -Recurse | ......
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.kleine Frage.
Ist der Hash-Wert definitiv Beweis für gleiches Bild / gleiche Datei?
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!
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.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?