meiertom 10 Geschrieben 4. September 2007 Melden Geschrieben 4. September 2007 Hallo, ich habe ein Problem mit Robocopy. Es gibt derzeit 3 mehr oder minder aktuelle Versionen von robocopy: Version XP010: - Enthalten im Windows Server 2003 Resource Kit - vollständige, zugehörige Dokumentation ebenfalls enthalten - URL: Download details: Windows Server 2003 Resource Kit Tools Version XP026: - Enthalten im Paket von Microsofts Robocopy GUI - unvollständige, nicht zugehörige Dokumentation enthalten (die von XP010 ist enthalten) - URL: http://download.microsoft.com/download/f/d/0/fd05def7-68a1-4f71-8546-25c359cc0842/UtilitySpotlight2006_11.exe Version XP027: - Enthalten in Windows Vista - keine Dokumentation enthalten - Leider nicht lauffähig unter Windows XP/2003 Folgendes Problem habe ich: Das Ergebnis eines Robocopy-Aufrufes (z.B. aus einer Batchdatei) kann mittels ERRORLEVEL abgefragt werden. Die Version XP010 und XP027 verhalten sich hierbei beide korrekt, nähmlich so wie in der Dokumentation von XP010 beschrieben: ============================================================== robocopy.exe [sRC] [DEST] /S /E if errorlevel 16 echo ***FATAL ERROR*** & goto end if errorlevel 15 echo FAIL MISM XTRA COPY & goto end if errorlevel 14 echo FAIL MISM XTRA & goto end if errorlevel 13 echo FAIL MISM COPY & goto end if errorlevel 12 echo FAIL MISM & goto end if errorlevel 11 echo FAIL XTRA COPY & goto end if errorlevel 10 echo FAIL XTRA & goto end if errorlevel 9 echo FAIL COPY & goto end if errorlevel 8 echo FAIL & goto end if errorlevel 7 echo MISM XTRA COPY & goto end if errorlevel 6 echo MISM XTRA & goto end if errorlevel 5 echo MISM COPY & goto end if errorlevel 4 echo MISM & goto end if errorlevel 3 echo XTRA COPY & goto end if errorlevel 2 echo XTRA & goto end if errorlevel 1 echo COPY & goto end if errorlevel 0 echo --no change-- & goto end :end ============================================================== Ein Auruf der Version XP010 und XP027 mit falschem Parametern ergibt z.B. immer den Errorlevel 16 - FATAL ERROR Die Version XP026 jedoch gibt IMMER den Errorlevel 0 zurück, sodass eine Überprüfung des Robocopyergebnisses faktisch nicht möglich ist. Kann das jemand bestätigen? Mache ich was falsch? Kennt jemand einen Workaround? Auch wäre interessant zu wissen, ob es jemandem gelungen ist, die Vista Version XP027 unter Windows XP/2003 zum Laufen zu bekommen. Gibt es zu der Version XP026 oder XP027 irgendwo doch eine aktuelle, "offizielle" Dokumentation? Ich hoffe auf "klärende" Hinweise, Danke schon mal. Gruß Tom Zitieren
carlito 10 Geschrieben 4. September 2007 Melden Geschrieben 4. September 2007 Ich wußte bisher nicht, dass es verschiedene Versionen von Robocopy gibt. Unterscheiden sich die Funktionen? Hast du mal die möglichen Parameter mit /? verglichen? Zitieren
meiertom 10 Geschrieben 8. September 2007 Autor Melden Geschrieben 8. September 2007 Ja, die verschiedenen Versionen unterscheiden sich marginal voneinander (zumindestens laut der Hilfe robocopy /?) In dieser einfachen Parameterauflistung steht jedoch in keiner Version ein Hinweis auf den Robocopy-Rückgabewert (Errorlevel). Diese Info habe ich bisher lediglich in der offiziellen MS-Doku zu Robocopy XP010 gefunden. Für die neueren Version Xp026 und die aus Vista XP027 kann ich keine Doku finden. Da aber die neueste XP027 korrekt bezgl. des Rückgabewertes arbeitet (genauso wie in XP010) gehe ich derzeit davon aus, dass die XP026 ein Bug hat. Leider läuft die XP027 nicht unter Win XP/2003, sodass ich nachwievor nach einem Workaround/Bugfix suche. Zitieren
carlito 10 Geschrieben 8. September 2007 Melden Geschrieben 8. September 2007 Wie lautet die genau Fehlermeldung? Zitieren
meiertom 10 Geschrieben 8. September 2007 Autor Melden Geschrieben 8. September 2007 Es gibt keine Fehlermeldung. Der Rückgabewert ist immer 0, egal ob Fehler beim Robocopy-Kopiervorgang aufgetreten sind oder nicht. Werden z.B. ein paar Dateien kopiert, so müsste der Errorlevel=1 sein, ist er aber nicht. Bei falschen Parametern kommt zwar ein Fehlertext von Robocopy, aber Errorlevel=0 statt der 16 (wie in XP010/XP027) Zitieren
meiertom 10 Geschrieben 25. Oktober 2007 Autor Melden Geschrieben 25. Oktober 2007 Wirklich niemand hier, der das selbe Problem und vielleicht auch noch eine Lösung hat? Zitieren
Dizzy 10 Geschrieben 12. Dezember 2007 Melden Geschrieben 12. Dezember 2007 Hallo meiertom, ich arbeite mit der XP016 und bei mir arbeitet auch die Abfrage der Errorlevel einwandfrei. Kannst du mir (uns) dein Problem und damit dein Aufruf des Robocopy mal zeigen (besser das ganze Script)? Gruß Dizzy Zitieren
meiertom 10 Geschrieben 13. Dezember 2007 Autor Melden Geschrieben 13. Dezember 2007 Hallo Dizzy danke zunächst für die Antwort. Hier (m)eine Batchdatei: robocopy.exe c:\temp\robocopy\src c:\temp\robocopy\dest /S /E /TEE /R:0 /W:0 if errorlevel 16 echo ***FATAL ERROR*** & goto end if errorlevel 15 echo FAIL MISM XTRA COPY & goto end if errorlevel 14 echo FAIL MISM XTRA & goto end if errorlevel 13 echo FAIL MISM COPY & goto end if errorlevel 12 echo FAIL MISM & goto end if errorlevel 11 echo FAIL XTRA COPY & goto end if errorlevel 10 echo FAIL XTRA & goto end if errorlevel 9 echo FAIL COPY & goto end if errorlevel 8 echo FAIL & goto end if errorlevel 7 echo MISM XTRA COPY & goto end if errorlevel 6 echo MISM XTRA & goto end if errorlevel 5 echo MISM COPY & goto end if errorlevel 4 echo MISM & goto end if errorlevel 3 echo XTRA COPY & goto end if errorlevel 2 echo XTRA & goto end if errorlevel 1 echo COPY & goto end if errorlevel 0 echo --no change-- & goto end :end Im Zielverzeichnis sind zusätzliche Dateien, die im Quellverzeichnis nicht enthalten sind => somit müsste bei mehrfachem Aufruf der Batchdatei der Errorlevel 2 zurückgegeben werden. Es kommt aber immer 0. Weiteres Beispiel ist, wenn falsche Parameter (z.B. Quellverzeichnis nicht vorhanden) verwendet werden. Hier müsste Errorlevel 16 zurückkommen, aber auch hier kommt immer 0. Verwende ich statt Version XP026 die Version XP010 ist alles so wie es sein soll. PS: Meine Robocopy-XP026-EXE ist 212.992 Bytes gross - vieleicht gibt es ja auch noch unterschiedliche Binärstände mit der selben Versionsnummer ? Zitieren
Dizzy 10 Geschrieben 16. Dezember 2007 Melden Geschrieben 16. Dezember 2007 Hallo Meiertom, ich hatte bisher immer nur "leere" Zielverzeichnisse, in die ich dann die Sourcen gespiegelt habe. Daher ist mir der Fehler nicht aufgefallen. :confused: Die Version 026 meldet tatsächlich keine Extra-Files. Die Version 016 funktioniert wie die 010 einwandfrei. Da die 027 ja nicht unter 2003 oder XP läuft ... nimm lieber die stabilen Versionen 010 oder 016. Ich werde aber mal versuchen die Microsoft-Jungs im Hause meines aktuellen Kunden bzgl der Versionen und Doku zu befragen. Mal schauen, ob die etwas genaueres wissen. Warum willst du denn überhaupt die "neueste" Version nutzen? Nicht jede neue Version ist automatisch besser ... Sollte ich etwas neues haben, dann melde ich mich hier wieder. CU Dizzy ;) Zitieren
Dizzy 10 Geschrieben 16. Dezember 2007 Melden Geschrieben 16. Dezember 2007 Ach ja ... meine 026 stimmt Byte-Technisch mit deiner überein (212.992 Bytes). Cu Dizzy Zitieren
Dizzy 10 Geschrieben 7. Januar 2008 Melden Geschrieben 7. Januar 2008 Hallo Meiertom, tja, ich dachte die Jungs von MS wären ein wenig gespächiger ... :mad: , aber gab leider keine Rückmeldung beziehungsweise Erklärung zu den verschiedenen Versionen und Fehlern ... Sorry! Cu Dizzy Zitieren
meiertom 10 Geschrieben 29. Januar 2008 Autor Melden Geschrieben 29. Januar 2008 Trotzdem Danke Dizzy, vielleicht findet sich ja noch jemand anderes, der etwas Licht ins Dunkle bringen kann. Besonders die Option "/DCOPY:T" ab Version XP026 wäre für mich interessant, aber mit XP026 halt nicht einsetzbar, da ich auf den Rückgabewert von robocopy angewiesen bin. Zitieren
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.