Auswerten von DOS-Kommandos

  • Hallo Forengemeinde,

    existiert in Autoit die Möglichkeit das Ergebniss eines DOS-Kommandos abzufragen? Leider ist mir AutoIt
    noch sehr fremd, so das ich bislang in der Doku keine passende Funktion gefunden haben bzw mir
    diese aus den vorhandenen auch nicht ableiten kann.

    Eventuell macht folgendes Beispiel mein aktuelles Problem etwas anschaulicher:

    Mein Programm soll

    - Ein DOS-Kommando ausführen
    - Das Ergebniss auffangen und in einer erstellen GUI ausgeben

    Die GUI incl. des Menus steht bereits, die restlichen Funktionen habe ich auch
    eingebaut bekommen. Nur hänge ich jetzt leider an der genannten Stelle fest.

    Wäre sehr dankbar wenn mir jemand von euch einen Tipp geben kann
    ich welcher Richtung ich nun weitersuchen muss.

    Gruß,
    mxtrp

    • Offizieller Beitrag

    Hallo und willkommen,

    schau dir mal in der Hilfe das Beispiel von StdoutRead an.

  • Hallo,

    leider komme ich erst jetzt dazu, mich für die schnelle Hilfe zu bedanken. Vielen Dank ;)

    Leider bin ich ein ein weiteres Problem gestolpert und möchte euch nochmals um Hilfe bitten:

    Ich möchte das Ergebnis meines DOS-Kommandos in einer GUI ausgeben. Aktuell habe ich versucht, die
    Ausgabe mittels GUICtrlSetData in eine GUICtrlCreateEdit-Box zu schreiben. Leider bekomme ich hier
    immer nur die letzte, bzw eine wohl recht zufällige Zeile ausgegeben.

    Was mache ich hier falsch, bzw wie ist der richtige Weg meine Daten innerhalb der GUI anzuzeigen?


    Gruß,
    mxtrp

  • Hallo!

    sowas geht ganz einfach, aber ohne Hilfe von hier, wäre ich auch verzweifelt.
    (Achtung: $BASEDIR hab ich vorher gestetzt)
    die Ausgabe des DOS-Befehls mußt du in eine temporäre Datei schreiben lassen!!

    _protoutput liest dann die temporäre Datei wieder woanders hin aus, mein Akku ist jetzt ziemlich leer.

    Hab noch ein anderes Beispiel für einen tree (das ist einfach ein praktisches Kommando und läuft auch richtig flott)

    Grüße

    German
    msp-holzwurm

    ==============================================


    Func _zipanprot($zipfile,$PROTFILE)

    ; Inhalt der Zip ans Protokoll hängen:

    Dim $StrTempFiles = _TempFile() ; Name für Temp-Datei erzeugen
    Dim $StrZipFile = $zipfile ; Name der Zipdatei
    $Befehl=" /C" & $BASEDIR & "\unzip.exe -l "

    RunWait(@ComSpec & $Befehl & Chr(34) & $StrZipFile & Chr(34) & " > " & $StrTempFiles, "", @SW_HIDE)


    $fhFiles = FileOpen($StrTempFiles,0)
    While 1
    $Line = FileReadLine($fhFiles)
    If @error Then ExitLoop
    _protoutput($PROTFILE,$line)
    WEnd
    FileClose($fhFiles)


    EndFunc

    ; ####################################################################################################