batch: rückgabewert wie?

Dieses Thema batch: rückgabewert wie? im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von mucius, 12. Juni 2005.

Thema: batch: rückgabewert wie? hi, wie setzt man den rückgabestatus eines batch programms? in einen meiner batch programme wird ein rsh gemacht,...

  1. 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
     
Die Seite wird geladen...

batch: rückgabewert wie? - Ähnliche Themen

Forum Datum
Hilfe zu einem einfachen Batchjob gesucht Software: Empfehlungen, Gesuche & Problemlösungen 22. Mai 2016
Dienstneustart in Aufgabe mit Protokoll unter R2008 (Batch) Windows Server-Systeme 5. März 2015
Pfade in Batchdatei Windows 7 Forum 18. Feb. 2015
Dateigröße auslesen mit batch programmierung Software: Empfehlungen, Gesuche & Problemlösungen 6. Feb. 2015
Wie Monitorausgabe in Batch Variable einbinden ? Linux & Andere 10. Jan. 2015