Page 1 sur 1

[..] Lecture de commande CMD

Posté : jeu. 06 sept. 2012 17:13
par Tyrael
Bonjour,

Je cherche à récupérer dans une variable le retour d'un commande CMD faite avec un RUN()
En cherchant sur le forum j'ai trouvé une solution qui fonctionne à une exception près.

Si ma commande cmd fonctionne correctement, j'ai bien ce qu'elle retourne.
Mais si elle retourne une erreur je n'arrive pas à lire ce qui est affiché dans la fenêtre cmd.

Mon code :
► Afficher le texte
Cette commande retourne si on arrive à joindre le serveur ($Tmp dans le code) la liste des imprimantes installées pour les mettre dans $Line.
Par contre si le serveur n'existe pas ou qu'il est impossible de le joindre (cause d'accès refusé) je n'ai rien dans ma variables $Line.
Or dans la fenêtre cmd j'ai bien du texte :
Si serveur inconnu :
► Afficher le texte
Si accès refusé :
► Afficher le texte
Mon serveur ne s'appelle pas toto j'ai juste changé son vrai nom ;)

Et malgré ce texte rien n'est récupéré (et pourtant ce même texte s'affiche dans la console AutoIt sans mettre de consolewrite)

Une idée d'où vient le problème et comment récupérer ce texte ?

P.S: J'ai tenté un
MsgBox(0,'t',StderrRead($Cmd))
à la fin de ma boucle While mais elle est vide (peu être mal utilisé ?)

Re: [..] Lecture de commande CMD

Posté : ven. 07 sept. 2012 01:30
par Tlem
Pourquoi ne lisez vous pas le flux d'erreur (STDERR_CHILD) comme indiqué dans la doc de la commande Run et Principalement dans la documentation de la commande StderrRead() : http://www.autoitscript.fr/autoit3/docs ... rrRead.htm