Veröffentlicht 21. September 200519 j Hallo Leute, ich suche ein tool das mit die Dateien in 2 Verzeichnissen vergleicht und dann ausspuckt welche unterschiedlich sind. Kennt jemand ein solches?
21. September 200519 j 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?
21. September 200519 j ich verwende CloneSpy - die Homepage gibt im Mom nur den Download-Link an, deshalb mal die hier
21. September 200519 j 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
21. September 200519 j 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
21. September 200519 j 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; } } }
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.