Externes DOS-Programm starten?

  • Wie kann ich ein externes DOS-Programm (programm.exe), welches im Pfad C:\abc\xyz\ liegt, starten.

    Wenn man das von Hand in die Windows-Eingabeaufforderung eingeben würde, würde der Befehl so aussehen:
    C:\abc\xyz\programm.exe -option1="123" -option2="789"

    Einmal editiert, zuletzt von Root (22. März 2009 um 11:15)

  • Ok, danke, super.
    Offenbar wird durch ' die Interpretation von " in der Klammer unterbunden.

    Und wie kann ich Variablen nutzen?
    Klar, das z.b. funktioniert nicht:

    [autoit]

    Run('$Variable_Pfad -option1="$Variable_Option1" -option2="789"')

    [/autoit]

    Das aber auch nicht:

    [autoit]

    Run('"$Variable_Pfad" -option1=""$Variable_Option1"" -option2="789"')

    [/autoit]
  • @Deepred

    Danke, hat gut fuktioniert.

    Ich versuche nun 2 externe DOS-Programme nacheinander starten zu lassen, dabei ist wichtig, dass das 2te wirklich erst startet, wenn das erste fertig ist.
    Ich hab's mit WinWaitNotActive("DOS-Programm") und WinWaitClose("DOS-Programm") probiert. Leider ohne Erfolg.

  • RunWait brachte irgendwie nicht den Erfolg. Das erste Programm wurde immer richtig ausgeführt, das Zweite jedoch startete zwar nach dem Ersten, wurde dann aber schnell beendet, ohne richtig ausgeführt zu werden.

    ShellexecuteWait habe ich in der Hilfe leider nicht gefunden.

  • Ok, ich habe mit Google was über ShellExecuteWait gefunden,

    Ich kann damit das externe DOS-Programm jedoch nicht starten.

    Hier startet das Programm:

    [autoit]

    Run($Variable_Pfad&' -option1="'&$Variable_Option1&'" -option2="789"')

    [/autoit]


    hier jedoch nicht:

    [autoit]


    ShellExecuteWait($Variable_Pfad&' -option1="'&$Variable_Option1&'" -option2="789"')

    [/autoit]

    Vorgestellt hatte ich es mir so:

    [autoit]

    ;Programm1 startet:

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

    ShellExecuteWait($Variable_Pfad1&' -option1="'&$Variable_Option1&'" -option2="789"')

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

    ;wenn es fertig ist, startet Programm2:

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

    Run($Variable_Pfad&' -option1="'&$Variable_Option2&'" -option2="xxx"')

    [/autoit]