Welenreiter Geschrieben 21. September 2005 Geschrieben 21. September 2005 Hallo Leute, ich suche ein tool das mit die Dateien in 2 Verzeichnissen vergleicht und dann ausspuckt welche unterschiedlich sind. Kennt jemand ein solches?
perdian Geschrieben 21. September 2005 Geschrieben 21. September 2005 ich suche ein tool das mit die Dateien in 2 Verzeichnissen vergleicht und dann ausspuckt welche unterschiedlich sind.Dafür solltest du erstmal definieren, wann ein Verzeichnis für dich unterschiedlich ist. (1) Wenn es die gleiche Anzahl an Dateien beinhaltet? (2) 1 und alle Dateien müssen die gleichen Namen haben? (3) 2 und alle Dateien müssen die gleichen Inhalte haben?
allesweg Geschrieben 21. September 2005 Geschrieben 21. September 2005 ich verwende CloneSpy - die Homepage gibt im Mom nur den Download-Link an, deshalb mal die hier
Welenreiter Geschrieben 21. September 2005 Autor Geschrieben 21. September 2005 Es sit die gleiche anzahl der Dateien. Der Inhalt ist mir egal, ich will die unteschieden in den namen wissen. z.b Ordner 1 Ordner2 start.bat start2.bat = Meldung Start.bat nicht in Ordner 2
.DenkeDranJoe Geschrieben 21. September 2005 Geschrieben 21. September 2005 Tataaa....mal wieder ein Job für den Total Commander ;-) Vorgehensweise : Linke Seite in den Ordner A wechseln Rechte Seite in den Ordner B wechseln Dann -> Befehle -> Verzeichnisse synchronisieren Kannst zusätzlich wählen : -Unterverzeichnisse vergleichen -nach Inhalt (binärer Vergleich) -Datum Ignorieren - Asymetrisch Du bekommst dann eine Liste die dir zeigt, welche Dateien gleich, ungleich bzw. welche von A nach B bzw. von B nach A kopiert werden müssen. Musst bloß vorsichtig bei der Option "Asymetrisch" sein. Das bedeutet : Angenommen du hast in Ordner A die Dateien 1,2 und 3 In Ordner B hast du 1,2,3,4. Synchronisiertst du von A nach B und hast die Option Asymetrisch gewählt, löscht er in Ordner B die Datei 4. Klingt evtl. verwirrend ;-), ist aber relativ leicht zu durchschauen. Download findest du hier : http://www.ghisler.com/ddownload.htm
perdian Geschrieben 21. September 2005 Geschrieben 21. September 2005 Es sit die gleiche anzahl der Dateien. Der Inhalt ist mir egal, ich will die unteschieden in den namen wissen. Voila! package de.perdian.test; import java.io.File; import java.util.Collections; import java.util.HashSet; import java.util.Set; public class ListDirectoryDifferences { public static void main(String[] args) { File d1 = new File(args[0]); File d2 = new File(args[1]); Set<String> fileNames1 = ListDirectoryDifferences.createFileNameSet(d1); Set<String> fileNames2 = ListDirectoryDifferences.createFileNameSet(d2); for(String fileName1 : fileNames1) { if(!fileNames2.remove(fileName1)) { System.out.println("Datei " + fileName1 + " existiert nur in Verzeichnis " + d1.getAbsolutePath()); } } for(String remaningFileName : fileNames2) { System.out.println("Datei " + remaningFileName + " existiert nur in Verzeichnis " + d2.getAbsolutePath()); } } private static Set<String> createFileNameSet(File directory) { File[] files = directory.listFiles(); if(files == null) { return Collections.emptySet(); } else { Set<String> result = new HashSet<String>(files.length); for(File file : files) { result.add(file.getName()); } return result; } } }
Welenreiter Geschrieben 22. September 2005 Autor Geschrieben 22. September 2005 Super. Danke für die ganze Hilfe!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden