Batch ERRORLEVEL bei XCOPY

Jonas92

Lieutenant
Registriert
Apr. 2010
Beiträge
744
Hallo Jungs,

folgende Batch Datei habe ich angefertigt:


xcopy %userprofile%\Documents\Outlook-Dateien\test.pst %userprofile%\Desktop\TESTORDNER /D /V /Y
if errorlevel 0 goto ok

@echo off
echo msgbox"Die Outlooksicherung ist bereits auf dem aktuellsten Stand",vbInformation , "BACKUP TOOL"> %temp%\msg.vbs
%Temp%\msg.vbs
erase %temp%\msg.vbs
exit

:ok
@echo off
echo msgbox"Outlooksicherung erfolgreich :)",vbInformation , "BACKUP TOOL"> %temp%\msg.vbs
%Temp%\msg.vbs
erase %temp%\msg.vbs



Die Sicherung der test.pst klappt soweit ohne Probleme, ich erhalte auch die Nachricht "Outlooksicherung erfolgreich" bei der Erstsicherung. In der ersten Zeile (XCOPY) habe ich die Parameter /D /V /Y angehängt sodass er nur neu kopiert wenn die Quelldatei verändert worden ist (Größe, Veränderungsdatum,...,...)

Findet keine Änderung an der Quelldatei statt kopiert die Batch Datei auch nicht, so soll es ja auch sein. --> Er schreibt dann als Ausgabe "0 Datei(en) kopiert). Dann jedoch soll die Nachricht "Die Outlooksicherung ist bereits auf dem aktuellsten Stand" erscheinen, tut Sie aber nicht. Es erscheint immer die Meldung "Outlooksicherung erfolgreich".

Alle Errorlevelcodes habe ich bereits durchprobiert:
http://technet.microsoft.com/en-us/library/bb491035.aspx

Ich habe die Vermutung dass die Batch aufgrund der Parameter keine Dateien kopiert und dies deswegen nicht als Fehler anerkennt. --> Ist es möglich dass er trotzdem die Meldung "Die Outlooksicherung ist bereits auf dem aktuellsten Stand" ausgibt?


Jonas
 
Hallo,

ich denke der Fehler könnte an der errorlevel-Abfrage liegen. Soweit ich weiß prüft "if errorlevel 0" tatsächlich ob errorlevel >= 0 ist. Du müsstest also deine Abfrage umdrehen: if errorlevel 1 goto NICHT_OK

Hier erklärt Microsoft das. http://support.microsoft.com/kb/504265/de

Alternativ ging also auch: if NOT errorlevel 1
 
nimm robocopy, das kopiert selbstständig nur wenn die Datei verändert ist
 
So ginge es auch:
if %errorlevel%==0 goto ok

Was bedeuten die unterschiedlichen errorlevels bei xcopy?
 
Zurück
Oben