Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Suche Software zum Vergleich von Ordner Inhalten...?

Suche Software zum Vergleich von Ordner Inhalten...?

fadenschein08.01.2112:47
Hallo,

ich hätte eine recht simple Anforderung...
Ich suche eine Software, die die Dateien von zwei Ordnern und deren Unterordnern miteinander vergleicht.
Ich möchte herausfinden, ob die Dateien des einen Ordners (bzw. aus dessen Unterordnern) IRGENDWO im anderen Ordner (bzw. irgendwo in dessen Unterordnern) vorhanden sind.

Im Appstore findet man ja relativ viele Programme, aber keines, das ich bisher probiert habe, konnte diesen einfachen Vergleich durchführen.

Hat jemand einen Tipp?
Danke im Voraus
Fadenschein
-1

Kommentare

Timeo Danaos08.01.2112:52
Duplicate File Finder?
+1
fadenschein08.01.2113:10
Leider nicht. Da hab' ich mir schon die Pro Variante gekauft, aber das, was ich suche, geht nicht.
Ich will einfach wissen, ob ein Sack mit Dateien irgendwo in einem anderen Verzeichnisbaum bereits vorhanden ist.
Das Programm sollte aber nicht nur die Duplikate anzeigen, sondern auch die Dateien, die da oder dort einzigartig sind.

Das macht Duplicate File Finder aber nicht. Außerdem vergleicht es nicht nur zwei Ordner sondern sucht auch nach Duplikaten innerhalb der Ordner.
Timeo Danaos
Duplicate File Finder?
-1
holger@071108.01.2113:20
Schau mal hier, , vielleicht hilft Dir das weiter. Bin ich die Tage mal drüber "gestolpert".
Viel Erfolg
0
marti-6108.01.2114:11
Schau dir mal "syncTwoFolders" an: https://throb.pagesperso-orange.fr
0
Reiner_Gunter08.01.2114:56
ich verwend DupeGuru zu meiner Zufriedenheit.
0
Krypton08.01.2115:28
Was genaues für den Job hab’ ich auch nicht. Selbst verwende ich in so einem Fall Singlemizer , das mir schon jahrelang treue Dienste leistet. Allerdings muss man auch hier etwas aufpassen, da es auch gleiche Dateien in der Ordnerstruktur A findet.

Auf der anderen Seite gibt es Delte-Walker , welches zwei Ordnerstrukturen (oder auch zwei einzelne Dateien) vergleichen kann, und die Unterschiede anzeigt. Das reagiert dann aber eben genau auf die Struktur. Wenn eine Datei in der Ordnerstruktur A > Unterordner A1 liegt, in Ordner B aber in B2, dann wird das als «fehlend» links und «zusätzlich» rechts angezeigt, jedoch ohne die Info, dass es die identische Datei ist.

Mit diesen beiden Tools konnte ich bisher alle Probleme lösen. Je nach den vorhandenen Unterschieden oder dem beabsichtigen Ziel war aber auch manueller Aufwand nötig.
0
rmayergfx
rmayergfx08.01.2115:33
fadenschein
Das Programm sollte aber nicht nur die Duplikate anzeigen, sondern auch die Dateien, die da oder dort einzigartig sind.
Wäre halt auch sinnvoll das gleich im Eingangsposting richtig zu beschreiben, dann wären wir schon einen Schritt weiter. Im Windows Bereich würde dir hier sofort TotalCommander unter die Arme greifen. Mit macOS gibt es entweder die Möglichkeit im Terminal mit Diff zu arbeiten, schöner ist es jedoch wenn man eine GUI dazu hat.
Daher empfehle ich dir das Programm DirEqual. Damit siehst du optisch schon auf einen Blick wie der Status der Verzeichnisinhalte ist:
„Der Computer soll die Arbeit des Menschen erleichtern, nicht umgekehrt !“
+3
ssb
ssb08.01.2115:49
Ich habe ein vergleichbares Problem - ich habe auf einem Windows Rechner mit VPN eine Linux VM mit dem Source-Repository und das muss ich dann immer wieder mit dem Mac abgleichen. Gelöst habe ich das mit rsync.

Damit kannst du feststellen, welche Dateien in A sind und in B nicht, welche auf A neuer sind als auf B und so weiter. Statt die Dateien dann zu kopieren kannst du dir einfach auch nur die Änderungen ausgeben lassen oder zum Beispiel eine Liste aller Dateien und ob sie kopiert werden müssten. rsync ist da sehr vielseitig, was die Nutzung nicht unbedingt einfacher macht. Viele der Tools mit GUI nutzen daher selbst rsync für die "wirkliche" Arbeit im Dateisystem, sie selbst implementieren "nur" die GUI dazu.
+1
FelixE08.01.2116:34
Hier ist noch VisualDiffer im Einsatz. Damit lassen sich nicht nur Namen in 2 Ordnerstrukturen vergleichen sondern auch anderweitige Unterschiede (Datum, Größe +?) der enthaltenen Dateien.
Automatisch (Vertrauen vorausgesetzt) oder nach Rückfrage für jede Datei sind nachfolgend Aktionen möglich (Sync, Copy, Move).
Die Möglichkeiten sind anfangs etwas überwältigend.
0
marm08.01.2116:57
FelixE und rmayergfx
Danke für die Hinweise auf VisualDiffer und DirEqual. Die Alternative Beyond Compare war mir bislang zu teuer. Kennt ihr wesentliche Feature-Unterschiede zw. VisualDiffer und DirEqual?
+1
obri08.01.2117:29
Ordnerinhalten?

Man beachte, daß die üblichen Programme die gleiche Ordnerstruktur beim Vergleich voraussetzen und nicht damit klarkommen, wenn die gleiche oder gleichnamige Datei ganz woanders im Baum liegt. Der erste Reflex "rsync" oder der zweite "meld" (übrigens ein tolles Programm!) sind daher nicht zielführend.

Man kann natürlich auch selber eins schreiben. Man müßte quasi beide Dateibäume rekursiv durchsuchen und alle Dateien dann nach Namen sortieren. Anschließend gleiche Dateinamen (was machst Du, wenn links drei Dateien "bla.txt" liegen und rechts fünf, jeweils mit unterschiedlichem Änderungsdatum?) raussuchen und die Dateien vergleichen, entweder flach (Länge, Datum) oder tief (nach Inhalt, dauert länger).
+1
fadenschein08.01.2118:49
Ja, obri, genau das ist es... Mein Anliegen erscheint banal, aber es ist diffizil.
Vielleicht erkläre ich den Hintergrund (das erschien mir zunächst zu kompliziert):
Im Ordner 'Quelle' habe ich sehr unterschiedliche Dateien.
Im Ordner 'Ziel' habe ich eine verzweigte Verzeichnisstruktur.
Nun möchte ich kontrollieren, welche Dateien aus 'Quelle' noch nicht in der Verzeichnisstruktur von Ziel abgelegt sind. Denn dann muss ich nur die 'nicht abgelegten' Dateien an die richtige Stelle in der Verzeichnisstruktur kopieren.

So entsteht das Problem, dass der Vergleich die Verzeichnisstruktur ignorieren muss.
Wenn ich in AppleScript sicher wäre, könnte ich die von Dir skizzierte Methode selbst umsetzen.

Dank und Gruß
Fadenschein
obri
Ordnerinhalten?

Man beachte, daß die üblichen Programme die gleiche Ordnerstruktur beim Vergleich voraussetzen und nicht damit klarkommen, wenn die gleiche oder gleichnamige Datei ganz woanders im Baum liegt. Der erste Reflex "rsync" oder der zweite "meld" (übrigens ein tolles Programm!) sind daher nicht zielführend.

Man kann natürlich auch selber eins schreiben. Man müßte quasi beide Dateibäume rekursiv durchsuchen und alle Dateien dann nach Namen sortieren. Anschließend gleiche Dateinamen (was machst Du, wenn links drei Dateien "bla.txt" liegen und rechts fünf, jeweils mit unterschiedlichem Änderungsdatum?) raussuchen und die Dateien vergleichen, entweder flach (Länge, Datum) oder tief (nach Inhalt, dauert länger).
0
fadenschein08.01.2118:50
@alle
Euch auch vielen Dank... ich schau' mir die Anregungen an, um zu sehen, was mir am besten weiter hilft.
0
ssb
ssb08.01.2119:06
fadenschein
Ja, obri, genau das ist es... Mein Anliegen erscheint banal, aber es ist diffizil.
Vielleicht erkläre ich den Hintergrund (das erschien mir zunächst zu kompliziert):
Im Ordner 'Quelle' habe ich sehr unterschiedliche Dateien.
Im Ordner 'Ziel' habe ich eine verzweigte Verzeichnisstruktur.
Nun möchte ich kontrollieren, welche Dateien aus 'Quelle' noch nicht in der Verzeichnisstruktur von Ziel abgelegt sind. Denn dann muss ich nur die 'nicht abgelegten' Dateien an die richtige Stelle in der Verzeichnisstruktur kopieren.

So entsteht das Problem, dass der Vergleich die Verzeichnisstruktur ignorieren muss.
Wenn ich in AppleScript sicher wäre, könnte ich die von Dir skizzierte Methode selbst umsetzen.

Dank und Gruß
Fadenschein
obri
Ordnerinhalten?

Man beachte, daß die üblichen Programme die gleiche Ordnerstruktur beim Vergleich voraussetzen und nicht damit klarkommen, wenn die gleiche oder gleichnamige Datei ganz woanders im Baum liegt. Der erste Reflex "rsync" oder der zweite "meld" (übrigens ein tolles Programm!) sind daher nicht zielführend.

Man kann natürlich auch selber eins schreiben. Man müßte quasi beide Dateibäume rekursiv durchsuchen und alle Dateien dann nach Namen sortieren. Anschließend gleiche Dateinamen (was machst Du, wenn links drei Dateien "bla.txt" liegen und rechts fünf, jeweils mit unterschiedlichem Änderungsdatum?) raussuchen und die Dateien vergleichen, entweder flach (Länge, Datum) oder tief (nach Inhalt, dauert länger).

In dem Fall (und es dürften sich wohl einige Dateien angehäuft haben) würde ich mir selbst was in Python schreiben. Statt tagelang nach einem GUI-Tools zu suchen bemühe ich eben BBEdit und das Terminal.

Du kannst das aber auch mit ls -lr auf beide Startverzeichnisse die Dateinamen in je eine Textdatei schreiben und diese dann abgleichen.
Oder ein Shell-Script, dass erst von der Quelle alle Dateinamen in eine Liste schreibt und dann mit find schaut, ob die Datei im Ziel irgendwo schon vorhanden ist und entsprechend zB die Dateinamen ausgibt, die noch nicht in Ziel sind oder Duplikate löscht (vorausgesetzt, die Dateinamen sind eindeutig).

Wenn dir allerdings AppleScript schon nicht geheuer ist, dann werden Shell Script oder Python noch abschreckender für dich sein.
+1
marm08.01.2120:11
fadenschein
Im Ordner 'Quelle' habe ich sehr unterschiedliche Dateien.
Im Ordner 'Ziel' habe ich eine verzweigte Verzeichnisstruktur.
Nun möchte ich kontrollieren, welche Dateien aus 'Quelle' noch nicht in der Verzeichnisstruktur von Ziel abgelegt sind. Denn dann muss ich nur die 'nicht abgelegten' Dateien an die richtige Stelle in der Verzeichnisstruktur kopieren.
Dein Problem ist viel einfacher als ein Verzeichnisvergleich. Du musst nur doppelte Dateien löschen können und sicherstellen, dass ein Verzeichnis gesperrt ist.

Bei der App Gemini gibt es z.B. eine Ignore-Liste, so dass Du einstellst, dass nicht das Unterverzeichnis B, wo die Ziel-Verzeichnisstruktur ist, angetastet wird, sondern nur in A gelöscht wird, wo die Quell-Dateien sind.
Für Fotos gibt es die App Foto Sweeper, die beim Vergleich ein Verzeichnis sperren kann. Es gibt in dieser App obendrein eine praktische Side by Side-Ansicht.
fadenschein
Mein Anliegen erscheint banal, aber es ist diffizil.
Dein Anliegen erscheint diffizil, ist aber banal.
+1
fadenschein08.01.2120:24
Das Problem bei Gemini war, dass Gemini nicht nur die zwei gewählten Verzeichnisse vergleicht und nach Duplikaten sucht, sondern auch innerhalb der Verzeichnisse nach Duplikaten sucht. Dort gibt es aber gewollte Duplikate.
marm
fadenschein
Im Ordner 'Quelle' habe ich sehr unterschiedliche Dateien.
Im Ordner 'Ziel' habe ich eine verzweigte Verzeichnisstruktur.
Nun möchte ich kontrollieren, welche Dateien aus 'Quelle' noch nicht in der Verzeichnisstruktur von Ziel abgelegt sind. Denn dann muss ich nur die 'nicht abgelegten' Dateien an die richtige Stelle in der Verzeichnisstruktur kopieren.
Dein Problem ist viel einfacher als ein Verzeichnisvergleich. Du musst nur doppelte Dateien löschen können und sicherstellen, dass ein Verzeichnis gesperrt ist.

Bei der App Gemini gibt es z.B. eine Ignore-Liste, so dass Du einstellst, dass nicht das Unterverzeichnis B, wo die Ziel-Verzeichnisstruktur ist, angetastet wird, sondern nur in A gelöscht wird, wo die Quell-Dateien sind.
Für Fotos gibt es die App Foto Sweeper, die beim Vergleich ein Verzeichnis sperren kann. Es gibt in dieser App obendrein eine praktische Side by Side-Ansicht.
fadenschein
Mein Anliegen erscheint banal, aber es ist diffizil.
Dein Anliegen erscheint diffizil, ist aber banal.
0
marm08.01.2120:27
fadenschein
Das Problem bei Gemini war, dass Gemini nicht nur die zwei gewählten Verzeichnisse vergleicht und nach Duplikaten sucht, sondern auch innerhalb der Verzeichnisse nach Duplikaten sucht. Dort gibt es aber gewollte Duplikate.
Der Ordner mit den Verzeichnissen ist doch gesperrt, dann können dort Duplikate sein. Nur im Quellverzeichnis erlaubst du das Löschen. Oder gibt es im Quellverzeichnis auch Duplikate?
Wenn es im Quellverzeichnis Duplikate gibt, löscht du erst diese. Dann vergleichst Du das bereinigte Quellverzeichnis mit dem gesperrten Zielverzeichnis.
+1
fadenschein08.01.2120:28
Sehr schöne und inspirierende Vorschläge. Vor hundert Jahren hab' ich selbst mal in Assembler und Vorläufern von Python programmiert aber das ist lange verloren. Ich hätte zwar Lust, aber ich traue mir nicht zu, das Projekt zu Ende zu bringen.
ssb
Wenn dir allerdings AppleScript schon nicht geheuer ist, dann werden Shell Script oder Python noch abschreckender für dich sein.
0
marm08.01.2120:42
Ich habe das gerade mal geprüft. Die Vorgehensweise mit Gemini muss ich korrigieren - lange nicht benutzt, sorry.
Es geht nicht über die Ignore-Liste.
Stattdessen setzt Du in den Einstellungen/Intelligente Auswahl das Quellverzeichnis auf "immer auswählen" und das Zielverzeichnis auf "Ausschluss".
Quell- und Zielverzeichnis sind im gleich Testverzeichnis. Das Testverzeichnis lässt Du prüfen.
Bei Photo Sweeper ist das eleganter gelöst.
0
fadenschein09.01.2113:32
Stimmt - danke!
marm
fadenschein
Das Problem bei Gemini war, dass Gemini nicht nur die zwei gewählten Verzeichnisse vergleicht und nach Duplikaten sucht, sondern auch innerhalb der Verzeichnisse nach Duplikaten sucht. Dort gibt es aber gewollte Duplikate.
Der Ordner mit den Verzeichnissen ist doch gesperrt, dann können dort Duplikate sein. Nur im Quellverzeichnis erlaubst du das Löschen. Oder gibt es im Quellverzeichnis auch Duplikate?
Wenn es im Quellverzeichnis Duplikate gibt, löscht du erst diese. Dann vergleichst Du das bereinigte Quellverzeichnis mit dem gesperrten Zielverzeichnis.
0
fadenschein09.01.2113:36
Vielleicht probier' ich's doch mal - weiß zufällig jemand ein paar Seiten für Python Einsteiger - v.a. im Hinblick auf Dateioperationen?

ssb

In dem Fall (und es dürften sich wohl einige Dateien angehäuft haben) würde ich mir selbst was in Python schreiben.
0
ela11.01.2110:51
Ich nutze BeyondCompare beruflich unter Windows seit vielen Jahren und habe den Anschaffungspreis nicht ein einziges Mal bereut. Es ist schnell, übersichtlich, hat sinnvolle/einfache Filter, kann dann auf Knopfdruck die Verzeichnisse abgleichen - in eine oder beide Richtungen und so weiter
Unter Windows ist schon der Inhalt-Vergleich zweiter Dateien phänomenal - also einstellbar, was als Unterschied gelten soll oder nicht (Leerzeichen oder Tabs im Quellcode z.B.) - diese "nicht Unterschiede" werden dann erkannt aber anders dargestellt; man kann Zeilen auch manuell synchronisieren wenn sich in einer Textdatei etwas verschoben hat oder ähnliches.
Für Bilder gibt es eine Erweiterung um Unterschiede in einem Diff-Pixel-Bild zu zeigen; Für CSV-Dateien kann man die Spalten verwenden und so eine Tabelle vergleichen und und und

Wenn das unter Mac nur ansatzweise so läuft, dann dürfte DAS die Lösung sein - auch wenn es etwas (mehr) kostet

Skripte mit Python oder Nutzung von rsync und ähnlichem geht natürlich auch alles und man kann eine Menge lernen was Terminal und Kommandozeile betrifft - ich möchte da niemandem den Spaß nehmen
+1
ssb
ssb11.01.2111:31
fadenschein
Vielleicht probier' ich's doch mal - weiß zufällig jemand ein paar Seiten für Python Einsteiger - v.a. im Hinblick auf Dateioperationen?
ssb
In dem Fall (und es dürften sich wohl einige Dateien angehäuft haben) würde ich mir selbst was in Python schreiben.
Die Nutzung deiner bevorzugten Suchmaschine hilft - es gibt da einige Seiten mit guten Tutorials und Code-Snippets. Als Ansatz würde ich einen Tree-Walk verwenden - der ist in Python auf den ersten Blick etwas umständlich, kann dir aber alles an Informationen liefern. Die Informationen sammelst du dann in einer Liste vom Typ Datei-Klasse (die du selbst definierst) in der du dann neben dem Dateinamen auch Datum, Größe, Pfad mitführst.
Den Walker packst du in eine Funktion um den Baum zusammenstellen und diese rufst für Quelle und Ziel auf. In einer zweiten Funktion gleichst die beiden Bäume (Listen) ab und die Unterschiede (oder was du wissen möchtest) lässt du in eine Textdatei ausgeben. Am besten definierst du für die Datei-Klasse den "equality"-Operator, mit dem du festlegst, wann zwei Objekte gleich sind. Du kannst die Textdatei auch so strukturieren, dass sie gleich als Shell-Skript genutzt werden könnte, also entweder "mv quelle ziel" oder "cp quelle ziel". Aber ich vermute, dass beide Verzeichnisse eine unterschiedliche Ordnerstruktur haben und daher wird das Bewegen/Kopieren nicht automatisiert gehen, da du dabei sortieren willst (außer du hast ein Kriterium, dass nutzbar wäre, wie zB das Datum).

Objekt-Orientierte Programmierung in Skripten klingt erst mal übertrieben und unsinnig - ist aber einer der Stärken von Python. Achte bei der Suche nach Quellen darauf, dass Python 3 benutzt wird. Sind nur kleine Unterschiede aber Python 2 ist unter macOS nicht mehr der Default - ist noch vorhanden, aber bei neuen Skripten sollte man es nicht mehr nutzen. Auch auf der offiziellen Python-Seite gibt es eine gute Dokumentation (auch als PDF) man muss aber einiges mit importierten Modulen (shutil, sys, os, datetime, ...) umsetzen, das kann etwas mühselig sein, immer genau das richtige zu finden (Doku der Standard-Module und nicht von Python selbst). Vorteil - das läuft dann auch auf allen Systemen (wenn man ein paar Kleinigkeiten beachtet) - daher kann es durchaus sein, dass du für dein Problem ein fertiges Skript finden könntest.
0
marm11.01.2111:44
Erfindet ihr gerade die Rube-Goldberg-Maschine für Duplikate-Suchen?
0
MikeMuc11.01.2112:22
Eigentlich doch wirklich eine sehr simple Aufgabe, in AppleScript sogar einfach mit „simple GUI“ zu schreiben.
- choose folder source
- choose folder dest
Schleife über alle Dateien in source
- wenn „file aus source“ nicht in Dest, „choose dest folder and move file“
Wenn vorhanden (ggf auch mehrfach), Tag dran und in einer Logdatei den Dateinamen und die Zielvorkommen notieren

Das sollte sich sogar auch ohne vorhandene AppleScript Kenntnisse nur mit Google zusammen stöpseln lassen
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.