Functions > FileDirDisk >


ConsoleRead

Lit à partir du flux STDIN du processus du script AutoIt.

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

Paramètres

peek [optionnel] Si True la fonction ne supprime pas les caractères lus à partir du flux.
binary [optionnel] Si True la fonction lit les données sous forme binaire au lieu du format texte (Texte par défaut).

Valeur de retour

Succès: Retourne les données lues. @extended contient le nombre d'octets lus.
Échec: Définit @error <> 0 si EOF est atteint, STDIN n'est pas connecté au processus ou autres erreurs.

Remarques

ConsoleRead() lit à partir du flux d'entrée de la console du processus du script AutoIt, qui est normalement utilisée par les applications console pour lire les entrées depuis un processus parent.

ConsoleRead() n'est pas bloquante, le retour est immédiat. Afin d'obtenir toutes les données, elle doit être appelée dans une boucle.

Consulter le flux ne supprime pas les données de la mémoire tampon, cependant, elle retourne les données disponibles comme d'habitude.

Par défaut, les données sont retournées au format texte. En utilisant l'option binary, les données seront retournées au format binaire.

En relation

ConsoleWrite, ConsoleWriteError, Run

Exemple

#include <MsgBoxConstants.au3>

#cs
    Compilez ce script en "ConsoleRead.exe".
    Ouvrez une commande prompt dans le dossier où se trouve ConsoleRead.exe.
    Tapez la ligne de commande suivante:
    echo Hello! | ConsoleRead.exe

    Lorsque la commande précédente est exécutée dans la console Windows, elle envoie le texte "Hello!" à la console
    mais au lieu de l'afficher, le signe | dit à la console de l'envoyer dans le flux STDIN
    du processus ConsoleRead.exe.
#ce

Example()

Func Example()
    If Not @Compiled Then
        MsgBox($MB_SYSTEMMODAL, "", "Ce script doit être compilé avant d'être exécuté.")
        Exit
    EndIf

    Local $sOutput = ""
    Do
        Sleep(25) 
        $sOutput &= ConsoleRead()
    Until @error

    MsgBox($MB_SYSTEMMODAL, "", "Reçu: " & @CRLF & @CRLF & $sOutput)
EndFunc   ;==>Example