Ordner Inhalt vergleichen

Revan335

Commander
Registriert
Aug. 2009
Beiträge
2.254
Hi Leute,

ich such nach einem Script, dass den Inhalt von Ordner vergleichen kann und die Unterschiede in ne "Vergleich.txt exportiert.

Medusa Ordner
Konvertierte PDF

Im PDF Ordner fehlen noch Dateien, da es aber mehrere 100 bis 10000 Dateien sind, kann man die schlecht manuell kontrollieren.

mit "dir > Medusa.txt" hab ich schon mal den Ordner Inhalt.

mit compare object könnte ich die beiden .txt vergleichen.

Nur kann ich den ausführen Befehl von Scripten bei der PowerShell nicht aktivieren.

Die Dateinamen sind 13213123.xxx 113213124.xxx und 13213123.pdf 113213124.pdf.

Kann man das ganze in ein Script packen und per cmd ausführen ?

Ich hoffe ihr versteht was ich meine.

Vielen Dank schon mal.

Gruß

Revan335
 
Zuletzt bearbeitet:
Ich glaub Robocopy müsst dir eine solche Liste ausgeben können ohne das es was kopiert.
 
Gleichzeitig leicht mit Powershell umzusetzen, wenn du Grundkenntnisse davon hast.

Kleiner Tipp: Foreach und If nicht vorhanden, schreibe in Log. Sollte so 10 Zeilen Code sein.
Ergänzung ()

Habs schnell gemacht. Powershell 1 Zeile.

diff (dir c:\test -r -name) (dir c:\test2 -r -name) >> log.txt

Frag wenn du was nicht verstehst, macht schneller ne Auflistung als Robocopy :)
 
Danke schon mal für das Script.

Jetzt ist nur die Frage, wie ich das Script erlauben kann, so das ich das auch ausführen kann.

Wenn ich: "set-ExecutionPolicy remotesigned" eingebe sagt er Zugriff verweigert.

Wenn ich die Shell per Admin starte, sagt er Verzeichnisname ungültig.

Kann es also gar nicht starten.

Das gleiche sagt er aber auch wenn ich die cmd per Admin starten will.
 
Käme nicht auch ein Diff-Tool wie kDiff in Frage? Stellt eine schöne Übersicht zusammen und kann auch noch synchronisieren. :)
 
Jo, denk auch, dass ein Diff-Tool die richtige Lösung ist. Die anständigen haben kein Problem mit Ordnervergleichen.
Windows: WinMerge - sollte es können
Linux: Meld - kanns definitiv, einfach nur geile
 
Kann man das Script auch auf 3 oder mehr Ordner/Dateien erweitern ?

Ansonsten scheint es zu klappen.

WinMerge ist geil, hab ich auch, bräuchte nur die Unterschiede, deshalb das Script.
 
3 Ordner gleichzeitig vergleichen? Nicht so ganz ohne. Du könntest eben 3 mal den Script leicht verändert ausführen.

Was brauchste den genau?
 
War nur so ne Frage.

In dem Ordner wo die Medusa und PDF liegen liegt noch ein Ordner mit gezippten Files.

Der ist aber normalerweise mit dem Medusa Ordner von der Anzahl identisch.
 
Dann überprüfs einfach nochmal per Hand indem du den Ordner eben mit Medusa vergleichst.
 
Hab ich bereits.

Hätte ja sein können, das man das einfach noch reinbauen konnte.

Aber dann ist egal.

Vielen Dank schon mal für deine Hilfe.

Meld mich wenn es produktiv geklappt hat.


Kann man ihm auch sagen, dass er nur den Dateinamen beachten soll und nicht die Endung ?

Oder sollte "-r -name" das bewerkstelligen ?

Weil er zeigt mir jetzt natürlich an:

Bei Medusa fehlt 2374990273.pdf
Bei PDF fehlt 2374990273.she (Medusa)
 
Zuletzt bearbeitet:
Puh. Ich weiß wie du bestimmte Endungen wegblenden kannst, aber wie man ALLE wegblenden kannst, ist mir gerade garnicht so bewusst... Sind da verschiedene Dateiendungen drin? Wenn nur pdf im einen und im anderen She ist, kann ich dir mein workarround geben.

diff (dir c:\test -r -name | foreach{$_ -replace ".pdf", ""}) (dir c:\test2 -r -name | foreach{$_ -replace ".jpg", ""}) > log.txt
 
Danke.

Das klappt schon mal, kann ich in ähnlicher Form auch noch Ordner auslassen ?
 
Das geht auch, bin nur Zuhause, ich mach das morgen auf der Arbeit okey? Hier gerade kaum Zeit :)
 
Das ganze ist dann doch etwas komplizierter sehe ich gerade... Hab etwas viel zu tun auf der Arbeit und nur kurz mir das Angeschaut. Also in einem Script zu lösen, wird sehr schwer, da du es nicht einfach mit -exclude rausfiltern kannst. Ich müsste mal in meinen Scripts suchen, wie man das genau nochmal löst. Wie wichtig ist das denn?
 
Wenn du bis nächste Woche etwas rausgefunden hast, dann reicht es noch.

Bin erst Mittwoch wieder auf der Firma.

Aber danke schon mal.
 
Ich würde empfehlen, dass du dir mal kDiff ansiehst. Das dürfte deine Anforderungen erfüllen, kann auch 3 Ordner vergleichen.
 
Okey hab was gefunden, ist einfacher, aber "Gefährlicher".

Mit folgenden Ergänzungen kannste Ordner ausklammern. Aber wenns Datein gibt, die auch so heißen, dann sind die auch weg. Falls sowas bei dir im Szenario nicht vorkommen kann, ist das nen gutes Workarround:

diff (dir c:\test -r -name | foreach{$_ -replace ".pdf", ""} | where {$_ -notmatch 'Name'}) (dir c:\test2 -r -name | foreach{$_ -replace ".jpg", ""} | where {$_ -notmatch 'Name'}) > log.txt
 
Zurück
Oben