Errorlevel zurücksetzten
Hi,
ich habe eine Batchdatei die Dateien verschiebt, bei einem Fehler soll eine Meldung ausgegeben werden und danach die nächste Datei verschoben werden. Ab der ersten Datei bei der Fehler auftritt wird bei allen anderen Dateien auch die Meldung ausgegeben, was natürlich daran liegt das der Errorlevel dann immer größer 0 ist. Die Frage kann ich den Errorlevel einfach mit
wieder auf null zurücksetzten oder gibt es "elegantere" Methoden?
ich habe eine Batchdatei die Dateien verschiebt, bei einem Fehler soll eine Meldung ausgegeben werden und danach die nächste Datei verschoben werden. Ab der ersten Datei bei der Fehler auftritt wird bei allen anderen Dateien auch die Meldung ausgegeben, was natürlich daran liegt das der Errorlevel dann immer größer 0 ist. Die Frage kann ich den Errorlevel einfach mit
SET errorlevel = 0
wieder auf null zurücksetzten oder gibt es "elegantere" Methoden?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 181246
Url: https://administrator.de/forum/errorlevel-zuruecksetzten-181246.html
Ausgedruckt am: 09.07.2025 um 01:07 Uhr
7 Kommentare
Neuester Kommentar
Hallo FomerMay!
Ich würde es (ungetestet) für die Zeilen 7 - 13 so versuchen:
BTW: "%DATE% %TIME:~0,8%" in der Schleife wird für alle Dateien den gleichen Timestamp liefern - Grund: keine "
Grüße
bastla
Ich würde es (ungetestet) für die Zeilen 7 - 13 so versuchen:
MOVE %quelle%\%%~ni.DLL %ziel% && (
ECHO.%%~ni.DLL wurde verschoben...
ECHO.%DATE% %TIME:~0,8% - %%~ni.DLL uebernommen >> X:\copy_dll_log.log
) || (
CALL :errCoDLL
)
delayedexpansion
", und für "%quelle%\%%~ni.DLL" sollte doch "%%i" genügen ...Grüße
bastla

moin,
ich schneid auch mal alles unwichtige raus...
und irgendwo am ende
Gruß
ich schneid auch mal alles unwichtige raus...
24. MOVE %quelle2%\%%~ni.DLL %ziel2%
25. IF ERRORLEVEL 1 (
25. IF ERRORLEVEL 1 (
- Würde ich doch so herum umgestalten...
24. MOVE %quelle2%\%%~ni.DLL %ziel2%
25. IF not exist %ziel2%\ %%~ni.DLL echo %%~ni.DLL konnte nicht nach %ziel2% verschoben werden>>error.log
25. IF not exist %ziel2%\ %%~ni.DLL echo %%~ni.DLL konnte nicht nach %ziel2% verschoben werden>>error.log
und irgendwo am ende
if exist error.log echo mach mir den Hengst
Gruß
Hallo FomerMay!
Verknüpfung zweier Anweisungen mit "&&": 2. Anweisung ausführen, wenn kein Fehler bei der 1. Anweisung, mit "||": 2. Anweisung ausführen, wenn Fehler bei der 1. Anweisung ...
microsoft.com/resources/documentation/windows/xp/all/proddocs/en ... oder auch
Grüße
bastla
Verknüpfung zweier Anweisungen mit "&&": 2. Anweisung ausführen, wenn kein Fehler bei der 1. Anweisung, mit "||": 2. Anweisung ausführen, wenn Fehler bei der 1. Anweisung ...
microsoft.com/resources/documentation/windows/xp/all/proddocs/en ... oder auch
hh ms-its:%windir%\Help\ntcmds.chm::/ntcmds_shelloverview.htm
bastla
Hallo,
der Code von Bastla macht folgendes:
&& und || sind also da, um Befehle zu Verknüpfen, wobei der zweite nur bei (Miss-)Erfolg des ersten ausgeführt wird.
MfG,
Mathe172
der Code von Bastla macht folgendes:
- Verschiebe die Datei von a nach b
- Wenn funktioniert hast (&&), mache das in der ersten Klammer
- Wenns nicht funktioniert hat (||), mach das in der zweiten
&& und || sind also da, um Befehle zu Verknüpfen, wobei der zweite nur bei (Miss-)Erfolg des ersten ausgeführt wird.
MfG,
Mathe172