Funktionreferenz


ConsoleRead

Beschreibung anzeigen in

Liest vom STDIN-Strom des AutoIt-Skriptprozesses.

ConsoleRead ( [peek = False [, binary = False]] )

Parameter

peek [optional] Wenn True, entfernt die Funktion die gelesenen Zeichen nicht aus dem Strom.
binary [optional] Wenn True, liest diese Funktion die Daten als binär anstatt als Text (Standard ist Text).

Rückgabewert

Erfolg: Die gelesenen Daten. @extended enthält die Anzahl von gelesenen Bytes.
Fehler: Setzt das @error Flag auf ungleich null, wenn EOF erreicht wird, STDIN für den Prozess nicht verbunden ist oder ein anderer Fehler auftritt.

Bemerkungen

ConsoleRead() liest den Standardeingabe-Strom der Konsole des AutoIt-Skriptprozesses, welcher üblicherweise für die Datenübernahme vom aufrufenden Prozess verwendet wird.
ConsoleRead() blockiert nicht, es wird sofort zurückgegeben. Sollen alle Daten ermittelt werden, muss es in einer Schleife aufgerufen werden.
"Peeking" auf dem Strom entfernt die Daten nicht vom Puffer. Jedoch gibt es die verfügbaren Daten als normal zurück.
Standardmäßig werden Daten im Textformat zurückgegeben. Wird die binär-Option verwendet, so werden die Daten im Binärformat zurückgegeben.

Verwandte Funktionen

ConsoleWrite, ConsoleWriteError, Run

Beispiel

#include <MsgBoxConstants.au3>

#cs
    Kompiliere dieses Skript zu "ConsoleRead.exe".
    Öffne ein Konsolenfenster und wechsle in das Verzeichnis, in dem ConsoleRead.exe ist.
    Tippe folgendes in die Befehlszeile:
    echo Hallo! | ConsoleRead.exe

    Wenn obige Zeile in einem Konsolenfenster aufgerufen wird, gibt der echo Befehl den Text
    "Hallo!" aus. Anstatt diesen anzuzeigen, bewirkt das "|" in dem Befehl, dass der Text
    An den STDIN Stream des ConsoleRead.exe Prozesses weitergeleitet wird.
#ce

Example()

Func Example()
    If Not @Compiled Then
        MsgBox($MB_SYSTEMMODAL, "", "Dieses Skript muss kompiliert sein, um seine Funktionalität zu demonstrieren.")
        Exit
    EndIf

    Local $sOutput
    While True
        $sOutput &= ConsoleRead()
        If @error Then ExitLoop
        Sleep(25)
    WEnd
    MsgBox($MB_SYSTEMMODAL, "", "Erhalten: " & @CRLF & @CRLF & $sOutput)
EndFunc   ;==>Example