Dateistrukturen asymetrisch vergleichen

German support forum

Moderators: Stefan2, Hacker

Post Reply
gcs
Junior Member
Junior Member
Posts: 31
Joined: 2019-12-21, 17:41 UTC
Location: Düsseldorf

Dateistrukturen asymetrisch vergleichen

Post by *gcs »

Vorab: TC hat ja eine Option „asymetrisch“, aber deren Funktionalität meine ich hier nicht!

"Total Commander" kann Dateien abgleichen die in einer identischen Verzeichnisstruktur liegen. Aber wie kann man einen Abgleich durchführen, wenn die Dateien innerhalb eines Hauptpfades in unterschiedlichen Unter-Verzeichnissen liegen? Beispiel:

Im Verzeichnis A liegen 1.000 Dateien verteilt auf die Unterverzeichnisse B, C und D.
Im Verzeichnis X liegen 900 Dateien. Davon sind 800 mit Dateien in B, C, oder D identisch.

Ziel des Abgleichs ist die Anzeige:
a) Dies sind die 800 in beiden Hauptverzeichnissen identischen Dateien,
b) dies sind die 200 Datein aus A, die kein Pendant in X haben und
c) das die 100 aus X ohne Pendant in A.
User avatar
sqa_wizard
Power Member
Power Member
Posts: 3979
Joined: 2003-02-06, 11:41 UTC
Location: Germany

Re: Dateistrukturen asymetrisch vergleichen

Post by *sqa_wizard »

Vergleichen kann man sie nicht direkt.

Man kann sie aber wenigstens finden:
In der Suchmaske gibt es unter "Erweitert" die Option "Suche nach doppelten Dateien".
Dies findet auch Dateien, die über verschiedene Verzeichnisse verstreut sind.
#5767 Personal license
gcs
Junior Member
Junior Member
Posts: 31
Joined: 2019-12-21, 17:41 UTC
Location: Düsseldorf

Re: Dateistrukturen asymetrisch vergleichen

Post by *gcs »

Danke @sqa_wizard, aber die Funktion kenne ich. Es ist aber nicht der Sinn dieser Anfrage, doppelte Datei zu eliminieren. Die Dateien sollen durchaus doppelt bleiben (z.B. auf dem Server und lokal). Es geht darum, diese Verzeichnisse möglichst einfach anzugleichen.

Da es sich um große Dateimengen handelt, ist der Weg, einfach alles hin und her zu kopieren und anschließend die doppelten zu löschen recht aufwändig. Suche hier eine einfachere Lösung.
gcs
Junior Member
Junior Member
Posts: 31
Joined: 2019-12-21, 17:41 UTC
Location: Düsseldorf

Re: Dateistrukturen asymetrisch vergleichen

Post by *gcs »

Nachtrag: Ich hätte vielleicht noch erwähnen sollen, daß die VZe auf unterschiedlichen Laufwerken liegen.
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1074
Joined: 2004-07-29, 11:00 UTC

Re: Dateistrukturen asymetrisch vergleichen

Post by *ZoSTeR »

 
Dies geht mit Beyond Compare und der Funktion "Ansicht -> Ordnerstruktur ignorieren".

Ein anderer Ansatz wäre, jeweils Dateilisten mit Strg+B und Strg+Alt+X zu erstellen und diese dann als Textdatei zu vergleichen.
gcs
Junior Member
Junior Member
Posts: 31
Joined: 2019-12-21, 17:41 UTC
Location: Düsseldorf

Re: Dateistrukturen asymetrisch vergleichen

Post by *gcs »

Danke ZoSTeR!

Ich habe zwischenzeitlich noch den Tipp bekommen "FreeFileSync" auszuprobieren, bin aber noch nicht dazu gekommen. Hast Du Dir zufälligerweise dazu bereits eine Meinung gebildet?

Den Ansatz mit Textvergleichen habe ich auch schon verfolgt. Mit den genannten Hotkeys hatte ich allerdings etwas Probleme. Hier meine Doku:

1. Strg + B: Listet alle Dateien in einem Verzeichnisbaum auf – funktioniert aber nur, wenn auch UVZ vorhaben sind. Sonst direkt weiter mit 3.
2. Strg+Alt+X: Hotkey aus TC-Forum. Funktion unbekannt, bei mir macht der nichts (jedenfalls nichts erkennbares …)
3. Strg + A: markiert alle Dateien in Liste
4. Mit „Markieren > Kopiere …“ über Zwischenablage in Textdatei übertragen
User avatar
Horst.Epp
Power Member
Power Member
Posts: 7598
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Re: Dateistrukturen asymetrisch vergleichen

Post by *Horst.Epp »

Das Erzeugen der Liste geht auch ohne die Zwischenablage.
Ctrl-B
Ctrl-A
Dann z.B. diesen Button um eine Liste im Zielfenster abzulegen

Code: Select all

TOTALCMD#BAR#DATA
%comspec% /c copy
"%UL" "%T%B-0_%|$DATE:YMD_hm|_SelectedFiles.lst"
C:\Tools\Wincmd\WCMICONS48.DLL,30
Selected names to list in target

1
-1
Windows 11 Home, Version 25H2 (OS Build 26200.8894)
TC 11.58 x64 / x86
Everything 1.5.0.1418b (x64), Everything Toolbar 2.4.1
QAP 12.3 x64, Listary Pro 7.0.0.7 beta
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1074
Joined: 2004-07-29, 11:00 UTC

Re: Dateistrukturen asymetrisch vergleichen

Post by *ZoSTeR »

 
Habe auf die Schnelle weder bei WinMerge noch FreeFileSync eine entsprechende Option gefunden.

Hier nen kurzes PowerShell Script dafür:

Code: Select all

cls

$FolderA = "C:\Sync-Test\A"
$FolderB = "D:\Sync-Test\B"

# Get filenames only (flatten folder structure)
$FilesA = Get-ChildItem -Path $FolderA -File -Recurse |
    Select-Object -ExpandProperty Name |
    Sort-Object -Unique

$FilesB = Get-ChildItem -Path $FolderB -File -Recurse |
    Select-Object -ExpandProperty Name |
    Sort-Object -Unique

$Comparison = Compare-Object $FilesA $FilesB -IncludeEqual

Write-Host "`n=== Missing from Folder B (exists only in A) ===" -ForegroundColor Yellow
$Comparison |
    Where-Object SideIndicator -eq '<=' |
    Select-Object -ExpandProperty InputObject

Write-Host "`n=== Missing from Folder A (exists only in B) ===" -ForegroundColor Yellow
$Comparison |
    Where-Object SideIndicator -eq '=>' |
    Select-Object -ExpandProperty InputObject

Write-Host "`n=== Exists in Both ===" -ForegroundColor Green
$Comparison |
    Where-Object SideIndicator -eq '==' |
    Select-Object -ExpandProperty InputObject
Einfach im PowerShell ISE laden/einfügen und Pfade anpassen, dann F5.
gcs
Junior Member
Junior Member
Posts: 31
Joined: 2019-12-21, 17:41 UTC
Location: Düsseldorf

Re: Dateistrukturen asymetrisch vergleichen

Post by *gcs »

Wow - Danke ZoSTeR!

>Hier nen kurzes PowerShell Script dafür:

Komme grade nicht dazu das auszuprobieren, aber mach ich die Tage.

>Habe auf die Schnelle weder bei WinMerge noch FreeFileSync eine entsprechende Option gefunden.

Auch Danke dafür, aber ich wollte mit meiner Frage nicht erreichen, daß Du für mich nachforschst :-)
User avatar
Native2904
Senior Member
Senior Member
Posts: 444
Joined: 2014-01-30, 14:23 UTC
Location: Aachen

Re: Dateistrukturen asymetrisch vergleichen

Post by *Native2904 »

@gcs

Sie könnten auch ein kleines portables Tool verwenden.
Ich habe mal den Fall gehabt, das auf meiner NAS ~200Dateien (Filme) verschwunden waren und ich nicht herausfinden konnte, wann das passiert war. So habe ich mir eine Aufgabe in Windows erstellt, die jeden Abend ein Snapshot diese Ordners macht und als HTML absichert..den report kann man mit WinMerge oder mit dem TC Vergleichstool nebeneinander legen..

Snap2html

Hierzu können sie, ganz einfach das Programm über die Konsole laufen lassen:

Code: Select all

C:\Apps\Snap2HTML\Snap2HTMl.exe -path:"C:\Folder_A" -outfile:"C:\Folder_A\Report\DL.html" -silent
Snap2html can handle huge file listings. Hundreds of thousands files & folders
is not a problem. My biggest test contained 1/2 million folders with 4 million
files. It may take a few seconds to load, and when using the search the first
time it will take a while to warm up. But it works fine!
Glückauf
#270101 Single user licence.
Total Commander 64-bit – latest version – Windows 11 Pro 24H2
Post Reply