VB-Homepage Tipp 414

Programmrückgabewerte für Batchprogramme / Errorlevel

Sicher nur ein Tipp für die, die mit Computern auch beruflich zu tun haben, denn gerade da sind die Zeiten von *.bat bzw. *.cmd noch nicht vorbei, wenn es darum geht Prozesse zu automatisieren.
Nun gibt es aber Vorgänge, die sich einfach über ein Windowsprogramm leichter oder erst überhaupt ermitteln lassen, nur wie bekommt man, ohne den Umweg, das Ergebnis erst in eine Datei zu schreiben, das Ergebnis an den Batchprozess übermittelt.
Auch mir ist diese Funktion noch nicht lange bekannt und sie hat auch Grenzen, da der Rückgabewert nur vom Typ Long sein kann, mit Strings ist hier nichts.
Aber dennoch, es ist ein Stück Erweiterung für Batchprozesse.

Zuerst einmal basteln wir uns eine Batchdatei, die unser Windowsprogramm starten und den Rückgabewert auswerten soll.

Start.bat
@echo off

:: Start des Windowsprogramms
start /w errlevel.exe

::Rückgabewert auswerten
if errorlevel 50 goto 50

::kein Rückgabewert
echo Rckgabewert = nicht gesetzt
goto Fertig

::Rückgabewert 50
:50
echo Rckgabewert = 50

:Fertig
echo.
echo ENDE

Als nächstes unser Windowsprogramm.
Allgemein/Deklarationen
Private Declare Sub ExitProcess Lib "kernel32" (ByVal uExitCode As Long)

Form/Load
ExitProcess 50&

In unserem Beispiel wird lediglich der Rückgabewert gesetzt und das Programm sofort wieder beendet. Die eigentliche Funktion, die hierher gehört, ist Ihnen überlassen.

Haben Sie dies erledigt, kompilieren Sie Ihr Projekt und vergeben den Namen Errlevel.exe (oder passen den Namen in der Batchdatei an).
Starten Sie für einen Test eine DOS-Box und rufen Sie die Batchdatei auf.
Sie werden sehen, das Ihr Rückgabewert ausgewertet wird.

Tipp-Download

Quelle :

Zurück zur Übersichtsseite