Script über DOS starten

  • Tach zusammen,

    ich habe da ein kleine Problem, welches für euch Profis aber wohl leicht zu lösen ist.
    Ich habe ein Script mit Autoit geschrieben, welches ein paar Daten aus der Registry löscht.
    Das Script selber hat keiner GUI und funktioniert ohne Probleme. Ich habe es zu einer exe kompiliert.
    Das Script soll nun über den DOS-Prombt gestartet werden. Auch das Funktioniert ohne Probleme.
    Mein Problem ist aber jetzt, dass ich erst wieder die Eingabezeile im DOS-Fenster sehen will, wenn mein Script fertig ist.
    Ich hoffe ihr könnte mich verstehen.
    Ich versuche es mal zu verdeutlichen.
    Im DOS Fenster steht ja immer das EingabePrompt:
    C:\>
    Jetzt starte ich mein Script:
    C:\>xyz.exe
    Nun soll im DOS Fester erst mal nichts erscheinen. Es kommt aber sofort nach der Eingabe wieder das EingabePrompt:
    C:\>
    Das soll aber erst wieder kommen, wenn mein Script durch ist.

    Hat jemand von euch eine Idee?

    Gruß
    dusg

    Einmal editiert, zuletzt von dusg (9. August 2012 um 09:34)

  • Hallo dusg,

    du must das Skript auch als CUI kompilieren, dmit es sich als solches verhält. Teste dieses kleine Testprogramm:

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Change2CUI=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    $i = TimerInit()
    Do
    Sleep(400)
    Until TimerDiff($i) > 10000
    MsgBox(0,"Error","Too many fingers on keyboard")

    [/autoit]

    der DOS-Prompt erscheint erst nach dem bestätigen der Messagebox.

    mfg autoBert

  • hallo dusg,

    wenn du das programm als cui compilierst sollte es wie beschrieben funktionieren. dazu die zeile #AutoIt3Wrapper_Change2CUI=y am anfang vom script einfügen bzw. beim compilieren mit STRG+F7 "Create CUI instead of GUI EXE." anhaken.

    z.B:

    [autoit]


    #AutoIt3Wrapper_Change2CUI=y
    sleep(5000)

    [/autoit]

    grüße
    vgun