Ein Verzeichnis mit mehreren Verzeichnissen vergleichen

German support forum

Moderators: white, Hacker, Stefan2

franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Ein Verzeichnis mit mehreren Verzeichnissen vergleichen

Post by *franc »

Hallo,

ich würde gerne ein Verzeichnis mit mehreren anderen Verzeichnissen mit z.T. gleichen Dateien darin vergleichen:

links habe ich ein Verzeichnis mit Dateien darin, z.B.:

Code: Select all

Verz1/datei1
     /datei2
     /datei3
Rechts habe ich mehrere Verzeichnisse, aber mit evtl. gleichen Dateien, z.B.:

Code: Select all

Verz2/datei1
     /datei3
     /datei4
Verz3/datei1
     /datei5
Verz4/datei3
     /datei4
     /datei5
     /datei6
Mit dem normalen Verzeichnisvergleich komme ich nicht weiter. Markiere ich links Verz1 und rechts Verz2, Verz3, Verz4 erhalte ich einen Fehler:
Warnung: Die linke und rechte Seite zeigen dasselbe Verzeichnis an!
Das Markieren wirkt hier anscheinend nicht. Gehe ich in das linke Verzeichnis hinein, wird aber nichts verglichen, weil sich die Verzeichnisse in verschiedenen Ebenen befinden.

Geht das doch irgendwie?

Gruß.
User avatar
Stefan2
Power Member
Power Member
Posts: 4157
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

Siehe Hilfe: "Verzeichnisse synchronisieren"

Der Befehl zum Aufrufen lautet: cm_filesync

Diesen kann man sich als Button anlegen, in die Befehlszeile eintippen,
oder in das Menü eintragen:
MENUITEM "Verzeichnisse &synchronisieren...", cm_FileSync

Solche erweiterte Menüs mit allen möglichen Befehlen gibt es auch zum downloaden (die Kollegen hier helfen sicherlich mit einem URL aus, oder?)
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

Aber das habe ich doch verwendet, das habe ich ja auch längst in der Toolbox.
Damit kriege ich es aber nicht hin, siehe die Fehlermeldung.
Ich meinte ja damit das Tool cm_filesync
User avatar
Hacker
Moderator
Moderator
Posts: 13065
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

franc,
Nicht markieren, reingehen.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

Ich habe doch bereits beschrieben: "...Gehe ich in das linke Verzeichnis hinein, wird aber nichts verglichen, weil sich die Verzeichnisse in verschiedenen Ebenen befinden... "

Und das ist wirklich so.

Vielleicht gibt es da ja eine geheime Einstellung?
User avatar
sqa_wizard
Power Member
Power Member
Posts: 3864
Joined: 2003-02-06, 11:41 UTC
Location: Germany

Post by *sqa_wizard »

Sorry, mit dem TC kannst du nur die Dateien von genau einem Verzeichnis (und wahlweise dessen Unterverzeichnisse) mit denen von genau einem anderen Verzeichnis vergleichen.

Das was du möchtest, ist ein einzelnes Verzeichnis gleichzeitig mit mehreren anderen Verzeichnissen vergleichen.
Du kannst diese nur nacheinander vergleichen
Verz1 mit Verz2
Verz1 mit Verz3
Verz1 mit Verz4
#5767 Personal license
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

Und da gibt es keine Möglichkeit das irgendwie auf einmal zu machen?
Ich würde ja nicht fragen, wenn es nur 5 oder 10 Verzeichnisse wären...
Aber es sind eher 50, die in großen Teilen die gleichen Dateien enthalten.
Das neueste Verzeichnis soll nur noch die Dateien enthalten, die noch nicht existieren, das ist mein Anliegen.
Z.B.:
Nimm die erste Datei aus Verz1
Vergleiche sie mit allen Dateien in allen Verzeichnissen Verz2-VerzN und markiere sie als "gleich", wenn sie irgendwo bereits vorhanden.
Nimm die zweite Datei aus Verz1
usw.

Edit: wenn man wenigstens mit Suchergebnissen vergleichen könnte, dann wäre es ja auch leicht. Aber da kriege ich auch wieder eine Fehlermeldung:
Fehler - Synchronisieren unterstützt nur folgende Kombinationen:
Verzeichnis<->Verzeichnis
Verzeichnis<->Zip-Archiv
Verzeichnis<->ftp-Server
Zip-Archiv<->Zip-Archiv (nur vergleichen)
In diesem Bereich könnte der totalcmd wirklich noch etwas zulegen, da erscheint er mir noch etwas schwach auf der Brust, wo er sonst so mächtig ist.
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Eine aufwendige Möglichkeit wäre vielleicht folgende:
1. Verzeichnis 3 und Verzeichnis 4 in das Verzeichnis 2 verschieben
2. Verzeichnis 3 und Verzeichnis 4 markieren, dann Strg + B gleichzeitig drücken (Zweigansicht mit Unterverzeichnissen)
3. CompareDirsWithSubdirs (vergleiche Verzeichnis mit Unterverzeichnissen) durchführen.
Ergebnis:
Links: .. wird angezeigt, daß die Datei2 im rechten Panel nicht vorkommt
Rechts: .. wird angezeigt, daß die Datei4,5u.6 nicht im linken Panel vorhanden sind.
Uups, genau dass hat sqa_wizard in seinem 1 Satz so beschrieben.
Gruß,
Karl
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Das neueste Verzeichnis soll nur noch die Dateien enthalten, die noch nicht existieren, das ist mein Anliegen.
Falls ich es richtig verstanden habe, also ein Verzeichnis das alle Dateien aus den anderen Verzeichnissen in der neuesten Version enthält?

Wenn die Daten in den 50 Verzeichnissen nicht in diverse Unterverzeichnissen vorliegen:
- Neues Verzeichnis "Combine" anlegen.
- Im gegenüberlegenden Panel die 50 Verzeichnisse markieren.
- <Strg+Umsch+B> gleichzeitig drücken um die Zweigansicht mit Unterverzeichnissen zu aktivieren.
- Nach Datum sortieren.
- Die angezeigten Dateien mit <+> markieren.
- <F5> um Kopieren zu starten.
- Unter [Optionen>>] "Überschreiboptionen:" "4. nur älter überschreiben" auswählen.

Gruß
Holger
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

HolgerK wrote:...Wenn die Daten in den 50 Verzeichnissen nicht in diverse Unterverzeichnissen vorliegen...
Doch, liegen sie zum Teil, leider.

Ideal wäre tatsächlich ein Vergleich mit einem Suchergebnis, weil ich dann einen entsprechenden Filter einsetzen kann.

Linke Seite die Dateien meines Verzeichnisses, rechte Seite das Suchergebnis aus den 50 Verzeichnissen und Unterverzeichnissen usw.

Wenn das aber zu umständlich ist, dann ist es auch wieder egal.
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Okay, noch eine Variante.

Das würde ich allerdings nur mit einer Kopie der 50 Verzeichnissen ausprobieren :!:

- Neben den 50 Verzeichnissen ein Verzeichnis "Combine" anlegen
- die anderen 50 Verzeichnisse markieren
- <Strg+Umsch+B>
- nach Datum sortieren :!:
- <Strg+B> "Merfach-Umbennenen-Tool"
- Name: !#![N]
- Erweiterung: [E]
- Suche nach: !#!
- Ersetze durch: ..\Combine\

Vorsicht :!:
Dadurch werden die Dateien nicht kopiert, sondern verschoben :!:

Edit:
oops geht auch nicht.
Das ist ja auch wieder eine flache Liste ohne Unterverzeichnisse. :(

Gruß
Holger
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

Danke für deine Tipps.

Die Sache wird noch schwieriger, weil in den 50 Verzeichnissen des öfteren gleichnamige Dateien (mit aber unterschiedlicher Größe) exisitieren.

Es ist so, dass es sich um ein Backupverzeichnis handelt, bei dem gelegentlich was neues drin ist, aber die meisten Dateien sind immer gleich (groß, inhaltlich meist anders, auch anders datiert aber das ist egal).
Ich kann das Backup aber nur komplett ziehen und würde dann möglichst aufwandsarm nur die geänderten Dateien in ein neues Verzeichnis dazu sichern.
Also nach dem Backupziehen ins Verz1 ein Vergleich mit den vorigen Dateien in allen vorigen Backups in den "50" Verzeichnissen und nur die Dateien die sich geändert haben sollen in ein neues Verzeichnis "VerzN" gesichert werden, der Rest gelöscht.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48083
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Sie können mit Hard-Links (Junctions) arbeiten - einfach zwei Unterverzeichnisse "Links" und "Rechts" anlegen, dann dort die Hardlinks auf die zu vergleichenden Verzeichnisse erzeugen, und die Links, die verglichen werden sollen, jeweils gleich nennen. Hard-Links können Sie z.B. mit Junction.exe von www.sysinternals.com erzeugen, die gehen aber nur auf NTFS-Platten.
Author of Total Commander
https://www.ghisler.com
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

Das verstehe ich nicht.
Ich kann in einem Verzeichnis doch nicht mehrere Hardlinks mit gleichem Namen anlegen und ich habe rechts doch 50 (und mehr) Verzeichnisse, deren Inhalt und den Inahlt eventueller Unterverzeichnisse ich mit dem Inhalt eines Verzeichnisses auf der linken Seite vergleichen will.

Sitze ich jetzt auf dem Schlauch, oder haben Sie mein Problem nicht verstanden?
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

franc wrote:Sitze ich jetzt auf dem Schlauch, oder haben Sie mein Problem nicht verstanden?
Schlauch, oder zu knappe Erklärung. :wink:

Im Verzeichnis "Links" werden 50 Hardlinks auf dasselbe Verzeichnis "Combine" mit den Namen 1, 2,.., 50 erzeugt.
Im Verzeichnis "Rechts" werden 50 Hardlinks auf die Verzeichnisse "Verz1", "Verz2", .., "Verz50" mit den Namen 1, 2,..,50 erzeugt.
Dann die Verzeichnis "Links" und "Rechts" miteinander synchronisieren.

Ob das allerdings für ein einmaliges Zusammenfügen nicht mehr Aufwand bedeutet als
sqa_wizard wrote:Du kannst diese nur nacheinander vergleichen
Verz1 mit Verz2
Verz1 mit Verz3
Verz1 mit Verz4
ist dann die Frage die du beantworten musst.

Wenn man es häufiger braucht könnte man solche Hardlink-Listen ja auch per Batch erzeugen.
Netter Trick.
Ab in den Merkzettelkasten zwischen linken und rechtem Ohr. :wink:

Gruß
Holger
Post Reply