RUN() Errorcode auslesen

  • Hallo Leute,

    ist es möglich bei dem RUN()-Befehl auch den Errorrückgabecode wie bei RUNWAIT() zu bekommen?
    Allerdings kann in den RUNWAIT nicht nutzen, da ich auch die StdOUT lese...

    Nutze RUN() mit folgender Belegung:
    Run(@ComSpec & " /c " & "irgendeinCommand", @ScriptDir, @SW_HIDE, 8)


    DANKE!

  • [autoit]

    Run(@ComSpec & " /c " & "irgendeinCommand", @ScriptDir, @SW_HIDE, 8)
    if @error then msgbox(0,"Fehler","Fehler")

    [/autoit]


    oder wie?

  • eigentlich ist das irrsinnig.

    ich meine, was für errors willst du auslesen?. du erhält entweder kein error oder ein error, wenn das Programm nicht gestartet werden konnte.

    wenn du programm errors auslesen wills, bleibt nur eventget und so übrig (bin nicht sicher, weil meine scripts immer auf anhieblaufen)

  • @der Scripter
    Ja so würde ich das auch schreiben, man ist immer auf der sichern Seite.

    Mario2323
    Was ist denn das für eine Aussage? Ich bin über Errorausgaben immer glücklich. Es kann immer mal vorkommen, das ein Script nicht läuft und somit kann man auslesen wieso.
    Die Scripte gibt man doch auch weiter oder? Bei anderen Leuten sind wieder andere Bedingungen und schon läuft das Progemm net, und hier wird dann gepostet
    .... brauche Hilfe mein Programm läuft net.

    Ich meine das das programmieren erst ausmacht. Alle Eventualitäten abzufangen. ;)
    Richtig programmiern kann ja jeder :rofl:

    MfG
    Der_Doc

  • also ich wollte den letzen errorcode des letzten Programms welches in RUN() gelaufen ist.
    Wie gesagt, der RUNWAIT()-Befehl gibt den Exitcode des auszuführenden Befehls wieder und genau das suche ich bei RUN()...

    Ich werde die Vorschläge mal prüfen und das Ergebnis mitteilen.
    StdErrOut() ist es leider nicht, oder ich weiß nicht wie ich den Exitcode auslesen kann ...

  • So z.B.:

    Spoiler anzeigen
    [autoit]

    $Programm = 'echo Hallo Autoit.de'
    $Programm = 'dir "C:\"'

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

    Run(@AutoItExe & ' /AutoIt3ExecuteLine "RegWrite(''HKEY_CURRENT_USER\Environment'', ''ERRORL'', ''REG_EXPAND_SZ'', RunWait(@ComSpec & '' /c '' & ''' & $Programm & '''))"')

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

    Do
    $Errorlevel = RegRead('HKEY_CURRENT_USER\Environment', 'ERRORL')
    Sleep(100)
    Until $Errorlevel <> ''

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

    RegDelete('HKEY_CURRENT_USER\Environment', 'ERRORL')
    MsgBox(0,"Errorlevel", $Errorlevel)

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