iDiddi 27 Geschrieben 4. August 2011 Melden Teilen Geschrieben 4. August 2011 (bearbeitet) Hallo mal wieder, habe gerade ein kleines Problem mit einem Robocopy-Skript. Wie oben schon erwähnt, möchte ich es erreichen, dass nur im Fehlerfall oder bei übersprungenen Dateien ein Eintrag in das Log erfolgt. Leider scheint es dafür keinen Schalter zu geben. Ich habe folgende Kombination probiert: robocopy.exe "Quellpfad" "Zielpfad" /COPYALL /ZB /FP /NP [b]/V[/b] [b]/NFL[/b] /NS /Log+:"Log-Pfad" Das Log sieht dann so aus: ------------------------------------------------------------------------------- ROBOCOPY :: Robust File Copy for Windows :: Version XP026 ------------------------------------------------------------------------------- Started : Thu Aug 04 14:20:09 2011 Source : Quellpfad Dest : Zielpfad Files : *.* Options : *.* /V /FP /NS /NFL /COPYALL /ZB /NP /R:1000000 /W:30 ------------------------------------------------------------------------------ <Zielpfad> ------------------------------------------------------------------------------ Total Copied Skipped Mismatch FAILED Extras Dirs : 1 0 1 0 0 0 Files : 4 0 4 0 0 0 Bytes : 4.047 g 0 4.047 g 0 0 0 Times : 0:00:00 0:00:00 0:00:00 0:00:00 Ended : Thu Aug 04 14:20:09 2011 Nur mit /V habe ich zwar die übersprungenen Daten drin, aber dafür auch alle anderen Dateien :eek: Bei einer großen Menge an Dateien wird mir das zu groß (möchte das Log nämlich direkt per E-Mail verschicken). Weiß Jemand Rat? bearbeitet 4. August 2011 von iDiddi Zitieren Link zu diesem Kommentar
iDiddi 27 Geschrieben 4. August 2011 Autor Melden Teilen Geschrieben 4. August 2011 Keiner 'ne Idee? Ihr könnt auch ruhig schreiben, dass es nicht funktioniert. Dann brauche ich mir ja keine Hoffnungen mehr zu machen :( . Nur, wenn so gar keiner antwortet, fühle ich mich schon recht einsam hier im Board ;) Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 4. August 2011 Melden Teilen Geschrieben 4. August 2011 Evtl. die Datei zwischenspeichern, parsen und das rausnehmen, was man nicht will, und dann dieses Ergebnis vermailen. Zitieren Link zu diesem Kommentar
mamamia 13 Geschrieben 4. August 2011 Melden Teilen Geschrieben 4. August 2011 Ich denke auch, dass RC hier an die grenzen des machbaren kommt. Muss es denn RC sein? Zitieren Link zu diesem Kommentar
iDiddi 27 Geschrieben 4. August 2011 Autor Melden Teilen Geschrieben 4. August 2011 Danke Dukel :) Wäre eine Idee. Das heißt für mich aber, dass Du auch der Meinung bist, dass Robocopy das von Haus aus nicht kann, richtig? Bei der Fülle an Funktionen hätte ich das nicht gedacht. Aber na gut. Dann frickel ich mir mal was zusammen. Bis später :) Zitieren Link zu diesem Kommentar
iDiddi 27 Geschrieben 4. August 2011 Autor Melden Teilen Geschrieben 4. August 2011 Ich denke auch, dass RC hier an die grenzen des machbaren kommt.Muss es denn RC sein? Danke auch Dir für Deine Antwort :) Wäre schon schön. Möchte ungern Fremdsoftware benutzen. Außerdem finde ich Robocopy sonst sehr gelungen. Besonders die Mirror-Funktion. Hab auch mal weiter geforscht. Scheinbar geht das wirklich nicht :( . Mal sehen, ob ich mir die Mühe mache und ein Skript alá Dukel bastle :D Zitieren Link zu diesem Kommentar
mamamia 13 Geschrieben 4. August 2011 Melden Teilen Geschrieben 4. August 2011 Könnte man am Ende nicht Ziel und Quelle vergleichen und das Delta entspricht doch deiner Liste, oder? Zitieren Link zu diesem Kommentar
iDiddi 27 Geschrieben 4. August 2011 Autor Melden Teilen Geschrieben 4. August 2011 Hey, gute Idee. Leider weiß ich so auf Anhieb nicht, wie ich das bewerkstelligen soll. Hast Du zu Deiner Idee zufällig auch noch ein paar Skript-Schnipsel parat? Zitieren Link zu diesem Kommentar
mamamia 13 Geschrieben 4. August 2011 Melden Teilen Geschrieben 4. August 2011 Ein Anfang wäre das compare-object von der Powershell Compare-Object -DifferenceObject (Get-ChildItem -Path Quelle) -ReferenceObject (Get-ChildItem -Path Ziel) Kommt halt drauf an, wie genau die Files verglichen werden sollen. Hier auch ein bisschen Hilfe dazu: Wie kann ich Windows PowerShell einsetzen? Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 4. August 2011 Melden Teilen Geschrieben 4. August 2011 Ausbaubar: get-childitem $zielpfad -recurse | % { test-path $_.FullName.replace('$zielpfad';'$quellpfad') } Aber da wird es einfacher sein das Log zu parsen. Man will ja nicht nur die Existenz überprüfen sondern die Gleichheit (Dateigröße, Hash,...) und verdoppelt unter Umständen die Laufzeit der Kopieraktion. Zitieren Link zu diesem Kommentar
iDiddi 27 Geschrieben 4. August 2011 Autor Melden Teilen Geschrieben 4. August 2011 Klasse Leute. Danke. Probiere ich mal aus. Aber da wird es einfacher sein das Log zu parsen Da hast Du wohl Recht. So oder So. Das wird alles aufwändiger, als ich gedacht habe (wie immer eigentlich :D ) 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.