MichaTo 10 Geschrieben 13. Februar 2012 Melden Teilen Geschrieben 13. Februar 2012 Hallo Community, ich habe ein PS Skript entwickelt, um doppelte Dateien zu finden. Als Basis hierfür wird von jeder Datei ein MD5-Hash errechnet. Das ganze wird in Excel exportiert. Im nächsten Step wird in einer Hilfsspalte eine ZÄHLENWENN-Funktion eingebaut, um die Hashwerte zu zählen. Dies funktioniert auch mit ein paar Tausend Dateien. Allerdings sind bei 65.536 Zeilen Schluss. Auf unserem Fileserver befinden sich aber weit mehr als 500.000 Dateien. Die Zeit und die Rechenleistung sind eher Sekundär von Bedeutung. Hat jemand eine Idee, wie ich das Skript weiterentwickeln bzw. Umfunktionieren kann? Ich bin da für alle Ideen offen! PS: Hier ist das Skript 'einsehbar' Gruß Micha Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 13. Februar 2012 Melden Teilen Geschrieben 13. Februar 2012 Wieso nutzt du nicht diverse Programme, die es schon gibt es genau das selbe machen, was du willst, nämlich Doppelte Daten finden? Es gibt z.B. doppelte sateien suchen und entfernen, doppelte dateien finde, duplikate finden download, dupletten abgleich, doppelte dateien entfernen freeware, gleiche dateien finden und lschen, gleiche lieder finden, Dateiduplikate suchen, dubletten entfernen, d Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 13. Februar 2012 Melden Teilen Geschrieben 13. Februar 2012 schau dir hier PowerShell - Laufwerke, Ordner, Dateien und Freigaben - PowerShellPraxis.de mal Beispiel 2 an. Mit Add-Member könntest du den Hashwert als property hinzufügen und danach gruppieren. 500.000 Dateien sind für ein Skript natürlich eine gewisse Herausforderung, an die man sich erstmal rantasten muß blub Zitieren Link zu diesem Kommentar
MichaTo 10 Geschrieben 13. Februar 2012 Autor Melden Teilen Geschrieben 13. Februar 2012 @blub: Beispiel 2 habe ich schon gefunden. Ergebnis: Allein *.pdf (Spitzenreiter) ergaben ca. 136.000 Dateien :shock: @Dukel: Ich habe das ein oder andere Tool schon ausprobiert; das ein oder andere Tool hat sich aber auch schon gnadenlos aufgehangen. Es ist der Reiz des Selber-Machens. Und es würde mich interessieren, wie es für mich möglich wäre, solche Datenmengen 'selber' zu verarbeiten. Wie gesagt, das Skript ist quasi fertig, aber mit einem so hohen Datenaufkommen wird es leider (mit Excel zumindest) nicht fertig. Gruß Micha Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 14. Februar 2012 Melden Teilen Geschrieben 14. Februar 2012 Ich würde das dann nicht mit Excel machen. Entweder alles im RAM belassen (in einer Variable (z.B. Hash Tabelle), kann aber dann zu einer Memory Exeption kommen) oder in ein File schreiben. Zitieren Link zu diesem Kommentar
NilsK 2.921 Geschrieben 14. Februar 2012 Melden Teilen Geschrieben 14. Februar 2012 Moin, für diese Aufgabe eignet sich auch der Log Parser, der in der Performance der PowerShell weit überlegen ist. Ob das allerdings bei derartigen Dateimengen gut funktioniert, habe ich nie getestet. .: www.kaczenski.de :. » c’t-Sonderheft Windows: 3 Artikel zu WMI und Log Parser .: www.kaczenski.de :. » c’t 04/2008: “Frag mich was!” – Microsofts Log Parser Gruß, Nils Zitieren Link zu diesem Kommentar
MichaTo 10 Geschrieben 14. Februar 2012 Autor Melden Teilen Geschrieben 14. Februar 2012 So viele Daten im RAM verarbeiten wird zwangsläufig zu einer Memory Exception kommen. LogParser ist eine gute Idee, werde mich mit der SQL-Syntax bzgl. doppelten Datensätzen mal auseinander setzen und hier berichten. Gruß Micha Zitieren Link zu diesem Kommentar
jarazul 10 Geschrieben 14. Februar 2012 Melden Teilen Geschrieben 14. Februar 2012 Anstatt Excel 2003 (falls benutzt) Excel 2010 nutzen? Das kann doch mit > 2 Mio Zellen umgehen, oder? Zitieren Link zu diesem Kommentar
MichaTo 10 Geschrieben 14. Februar 2012 Autor Melden Teilen Geschrieben 14. Februar 2012 Wir haben vor Kurzem Office 2010 Lizenzen bekommen. Habe es aber noch nicht installiert, weil ich mit dem 2003er besser zurechtkomme :rolleyes: Aber mit der Info... Ich werde es morgen sofort ausprobieren! (LogParser wird selbstverständlich nicht in Vergessenheit geraten) Gruß Micha Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.