[R] Lire le contenu d'un invite de commande

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
RomainR
Niveau 1
Niveau 1
Messages : 13
Enregistré le : ven. 25 sept. 2009 11:15
Status : Hors ligne

[R] Lire le contenu d'un invite de commande

#1

Message par RomainR »

Bonjour à tous,

Voilà quelques jours que je me triture le cerveau afin de trouver une solution au problème suivant :

Je dispose d'un simulateur sous forme d'invite de commande windows. Ce simulateur communique avec un équipement (je peux donc envoyer des commandes à l'équipement, qui lui même répond par le biais de tags associés à une valeur).

Je cherche donc à automatiser ce processus par le biais d'AutoIT : j'arrive facilement à envoyer des commandes mais je bloque pour lire les réponses de l'équipement. Je viens donc faire appel à votre aide afin de savoir si il était possible de lire le contenu d'un invite de commande windows (et accessoirement de faire une recherche dans son contenu mais une fois que j'aurai récupéré le contenu sous forme de chaine de caractère, je pense pouvoir m'en sortir :wink: ).

Merci par avance.

Romain
Modifié en dernier par RomainR le lun. 05 oct. 2009 14:18, modifié 1 fois.
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Lire le contenu d'un invite de commande

#2

Message par jbnh »

Bonjour,

Dans la documentation, je t'invite a regarder stdoutRead.

Voici l'exemple fourni qui devrait amplement t'aider ;)

Code : Tout sélectionner

; Demonstrates StdoutRead()
#include <Constants.au3>

Local $foo = Run(@ComSpec & " /c dir foo.bar", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Local $line
While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
    MsgBox(0, "STDOUT read:", $line)
Wend



MsgBox(0, "Debug", "Exiting...")
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
RomainR
Niveau 1
Niveau 1
Messages : 13
Enregistré le : ven. 25 sept. 2009 11:15
Status : Hors ligne

Re: [..] Lire le contenu d'un invite de commande

#3

Message par RomainR »

Bonjour et merci pour ta réponse.

J'ai essayé ta fonction et j'ai rencontré de nombreux problèmes car l'invite que j'utilise est commandé par un fichier .bat qui était assez problématiqe à lancer depuyis AutoIT. Bref j'ai réussi à m'en sortir en me rendant compte (completement par hasard) que ma console de commande générait au fur et à mesure un fichier log contenant les réponses de l'équipement. J'ai donc simplement utilisé la fonction StringRegExp et le tour est joué :wink:

Je ne sais pas si ça a le mérite de passer le sujet en résolu mais en tout cas ça marche impecc !

Merci et @+
Répondre