Jump to content

Robocopy XP026 und ERRORLEVEL


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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

Link zu diesem Kommentar

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.

Link zu diesem Kommentar

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)

Link zu diesem Kommentar
  • 1 Monat später...
  • 1 Monat später...

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 ?

Link zu diesem Kommentar

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 ;)

Link zu diesem Kommentar
  • 3 Wochen später...
  • 3 Wochen später...
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...