batch: rückgabewert wie?

  • #1
M

mucius

Neues Mitglied
Themenersteller
Dabei seit
12.06.2005
Beiträge
2
Reaktionspunkte
0
hi,

wie setzt man den rückgabestatus eines batch programms?
in einen meiner batch programme wird ein rsh gemacht, will nun wenn das rsh nicht erfolgreich ist, das ein code gesetzt wird,
das dann das script was die batch datei aufruft abfragen kann.
 
  • #2
Wie wäre es mit EXIT Errorlevel?
Anschliessend in der anderen Batchdatei den Errorlevel abfragen.

Eddie
 
  • #3
und wie müsste das bei diesen befehl aussehen?

rsh 10.128.20.2 -l test PROGRAMS/test.csh test %1 %2
 
  • #4
Hi,

könntest es ja so machen:

rsh 10.128.20.2 -l test PROGRAMS/test.csh test %1 %2
If not errorlevel 0 goto nichtfunktioniert
goto ende

:nichtfunktioniert
RSH hat nicht funktioniert, bitte Programm neu starten
goto ende

:ende
Auf Wiedersehen


mit errorlevel kannst du dir den ReturnCode eines Programmes ausgeben lassen. Diesen Überprüfst du dann ob er nicht null ist und erhälst dann deine Fehlermeldung.

Weiß allerdings nicht, wie das bei rsh ist, eventuell genauso wie beim ftp, das nur der RC ausgegeben wird, ob das Programm ausgeführt werden konnte...das heißt nämlich noch lange nicht, dass Daten übertragen wurden. In dem Fall müsstest du es so machen:

rsh 10.128.20.2 -l test PROGRAMS/test.csh test %1 %2 > C:\log.log
find Fehlertext C:\log.log
if errorlevel 1 goto super
goto schlecht

:schlecht
fehlertext gefunden, rsh nicht erfolgreich

:super
alles toll

soooo...das funktioniert auf jeden fall für den ftp so. musst dir halt nur am anfang die mühe machen, und in der erstellten logdatei alle möglichen fehlermeldungen raussuchen. wenn es mehr als eine gibt, musst du halt nach super nochmal die gleiche find-überprüfung nach dem zweiten fehlertext machen usw.

Gruß. Marco
 
  • #5
Hallo,

kleine Anmerkung am Rande:

Die Sache mit dem ERRORLEVEL funktioniert nur dann, wenn das aufgerufene Programm so programmiert ist, das es auch einen entsprechenden Wert (sprich: ERRORLEVEL) an das OS zurück gibt!
Das kann man ganz einfach prüfen. Einmal in dem man dem Programm bewusst falsche Parameter (nicht vorhandene Datei oder so) vosetzt, ein ander mal mit korrekten Parametern.
Beispiel:

Code:
rem Vorausetzung Datei nixda.txt existiert nicht!
xcopy d:\nixda.txt .\
echo XCOPY returned %ERRORLEVEL%!

Gruss

Reiner
 
Thema:

batch: rückgabewert wie?

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.959
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben