Mit der Shell ein Befehl ausführen und die Rückgabe in eine Variable/Array einlesen

  • Hallo zusammen,

    ich will mit meinem Script einen Befehl in der Windows Shell ausführen "sc query" und die Rückgabe in eine Varieble einlesen damit man im AutoIt Skript damit weiterarbeiten kann.
    Hintergrund ist, das ich einen bestimmten Dienst auf unterschiedlichen PCs suche. Problem ist, das dieser in unterschiedlichen Versionen vorkommen kann, aber im Namen immer mit "NetOp"
    beginnt.
    "sc query" zeigt alle Dienst von Windows an und dann bräuchte ich nur noch nach dem Namen suchen der mit "NetOp" beginnt.

    Thx for help!
    Gruß, Matthias

  • Ich hab an sowas gedacht:
    Geht aber leider nicht :(

    [autoit]

    Global $line
    $Console = RunWait("sc query", "", @SW_MAXIMIZE, 0x2)
    While 1
    $line &= StdoutRead($Console)
    If @error Then ExitLoop
    WEnd
    MsgBox(0x40, "$line:", $line)

    [/autoit]
  • Du brauchst Run, nicht RunWait:

    [autoit]

    Global $line
    $Console = Run("sc query", "", @SW_MAXIMIZE, 0x2)
    While 1
    $line &= StdoutRead($Console)
    If @error Then ExitLoop
    Sleep(10)
    WEnd
    MsgBox(0x40, "$line:", $line)

    [/autoit]