Kompilierte AutoIt-EXE in einem Batch starten und mit Rueckgabewert weiterarbeiten

  • Hallo Zusammen,

    zum Bearbeiten von INI Dateien mittels eines (DOS) Batch-Files habe ich ein kleines AutoIt-Script geschrieben und kompiliert - was auch prima klappt. Im Batchfile wird es wie folgt aufgerufen: WriteToIni.exe <FileName> <Section> <Key> <Value>.

    Was ich nicht hinbekomme ist, einen Rückgabewert aus dem kompilierten EXE-File zurück in das aufrufende Batch-File zu übergeben, wo ich dann mit einem IF %ERRORLEVEL% EQU <value> ... darauf reagieren könnte.

    Hat jemand von euch sowas schon mal erstellt und einen Tipp für mich, bitte?

    Danke vorab & viele Grüße
    TheDude

    Cuiusvis hominis est errare, nullius nisi insipientis in errore perseverare.
    [Cicero, Philippica 12,2]

  • Aus der Hilfe:

    Exit [return code]

    Parameter:
    [return code] = "[optional] Integer, der den Rückgabewert des Skriptes setzt. Dieser Wert kann von Windows oder über die DOS-Variable %ERRORLEVEL abgefragt werden. Standard ist 0. Skripte setzen das Errorlevel normalerweise auf 0, wenn das Skript ordnungsgemäß ausgeführt wurde. Werte 1 und größer signalisieren im allgemeinen Fehler in der Skriptausführung."

    Beispiel:

    Spoiler anzeigen
    [autoit]


    ; Erstes Beispiel
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    ; Zweites Beispiel
    ; Skript abbrechen, wenn keine Befehlszeilenargumente
    If $CmdLine[0] = 0 Then Exit (1)

    [/autoit] [autoit][/autoit] [autoit]

    ; Drittes Beispiel
    ; Datei öffnen, die in erstem Befehlszeilenargument angegeben ist
    Local $file = FileOpen($CmdLine[1], 0)

    [/autoit] [autoit][/autoit] [autoit]

    ; Prüfen, ob Datei eingelesen wurde
    If $file = -1 Then Exit (2)

    [/autoit] [autoit][/autoit] [autoit]

    ; Wenn Datei leer ist, beenden (Skript ist erfolgreich)
    Local $line = FileReadLine($file)
    If @error = -1 Then Exit

    [/autoit] [autoit][/autoit] [autoit]

    ; Hier Code für Dateiverarbeitung
    FileClose($file)
    Exit ; Ist optional bei letzter Skriptzeile

    [/autoit]

    Lesenswert im o. g. Bezug: ExitLoop

    INI Dateien mittels eines (DOS) Batch-Files bearbeiten? Meinst Du nicht, das Du dir den Batch sparen kannst und alles in einer *.au3 packen kannst?
    Ich bin über die Grenze die man mit Bach-Dateien lösen kann, hier gelandet und ich habe schnell bemerkt, das man sich Batch-Dateien eigentlich sparen kann. Uneigentlich auch!

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr