j'ai une question idiote concerant la commande run.
j'utilise la commande run qui execute un programme dos. je recupere le Return Value ( PID of the process)
En fin d'execution mon utilitaire dos me renvoi un code erreur.
Ma question est comment faire pour recupere ce code erreur ?
[R] Commande Run help
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- sksbir
- Niveau 7

- Messages : 384
- Enregistré le : lun. 26 oct. 2009 17:57
- Localisation : Lyon
- Status : Hors ligne
Re: [..] Commande Run help
Bonjour
C'est runwait qui permet de récupérer le return code de la commande lancée.
Avec run, c'est pas possible.
La seule astuce que j'ai trouvé consiste à lancer un process qui va écrire le return code dans un fichier, puis d'analyser le contenu du fichier.
C'est runwait qui permet de récupérer le return code de la commande lancée.
Avec run, c'est pas possible.
La seule astuce que j'ai trouvé consiste à lancer un process qui va écrire le return code dans un fichier, puis d'analyser le contenu du fichier.
- TommyDDR
- Modérateur

- Messages : 2130
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: [..] Commande Run help
sksbir, ce n'est pas bien d'écrire des bêtises !
Avec Run vous pouvez récupérer le PID (sur un RunWait cela est inutile vu que Wait signifie attendre la fin du processus et donc le PID disparait.)
Regardez du coté du 4eme paramètre de (opt_flag) et utilisez $STDERR_OUT puis un
Avec Run vous pouvez récupérer le PID (sur un RunWait cela est inutile vu que Wait signifie attendre la fin du processus et donc le PID disparait.)
Regardez du coté du 4eme paramètre de
Code : Tout sélectionner
Run()Code : Tout sélectionner
StdErrRead()3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
- sksbir
- Niveau 7

- Messages : 384
- Enregistré le : lun. 26 oct. 2009 17:57
- Localisation : Lyon
- Status : Hors ligne
Re: [..] Commande Run help
des bêtises, vraiment ?
Goguy, c'est le return code qu'il veut. Pas ce que peut raconter sa commande sur la sortie d'erreur.
Alors, c'est vrai qu'on n'est pas obligé de passer par un fichier de sortie, mais il faudra quand même faire une bidouille pour renvoyer le return code dans la sortie, et pourquoi pas, dans la sortie d'erreur.
Exemple : le fichier CMD ci-dessous:
Goguy, c'est le return code qu'il veut. Pas ce que peut raconter sa commande sur la sortie d'erreur.
Alors, c'est vrai qu'on n'est pas obligé de passer par un fichier de sortie, mais il faudra quand même faire une bidouille pour renvoyer le return code dans la sortie, et pourquoi pas, dans la sortie d'erreur.
Exemple : le fichier CMD ci-dessous:
@echo off
MA_COMMANDE
echo %ERRORLEVEL% > &2
-
GaRydelaMer
- Niveau 7

- Messages : 450
- Enregistré le : mer. 18 mars 2009 22:12
- Localisation : Montpellier
- Status : Hors ligne
Re: [..] Commande Run help
Bonjour
parfaitement des bêtises
, car dans ton 1er message jamais tu as parlé de rediriger la commande dans un fichier. Comment faire si on est sur CD ou un support en écriture seule ???
Par contre utiliser les bonnes méthodes avec AutoIt (en lisant la doc par exemple qui est très claire à ce sujet) me semble plus approprié comme réponse à apporter sur ce forum.
Sans rancune
Faire une recherche dans le forum car le sujet a été aborder de nombreuses fois.
parfaitement des bêtises
Par contre utiliser les bonnes méthodes avec AutoIt (en lisant la doc par exemple qui est très claire à ce sujet) me semble plus approprié comme réponse à apporter sur ce forum.
Sans rancune
Faire une recherche dans le forum car le sujet a été aborder de nombreuses fois.
- sksbir
- Niveau 7

- Messages : 384
- Enregistré le : lun. 26 oct. 2009 17:57
- Localisation : Lyon
- Status : Hors ligne
Re: [..] Commande Run help
Pour moi, cet aspect des choses est annexe. Encore une fois, il est demandé de récupérer le RETURN CODE.GaRydelaMer a écrit :Bonjour
parfaitement des bêtises![]()
, car dans ton 1er message jamais tu as parlé de rediriger la commande dans un fichier. Comment faire si on est sur CD ou un support en écriture seule ???
Par contre utiliser les bonnes méthodes avec AutoIt (en lisant la doc par exemple qui est très claire à ce sujet) me semble plus approprié comme réponse à apporter sur ce forum.
Sans rancune
Faire une recherche dans le forum car le sujet a été aborder de nombreuses fois.
Mais pour te répondre:
- il existe la macro @TEMPDIR pour que ça fonctionne dans tous les cas ( à utiliser comme répertoire de travail )
- j'ai un cas personnel rencontré où un script écrit selon la méthode des STD bloque de façon aléatoire et seulement dans sur un OS particulier ( sur windows 2003 server ).
Donc pour moi, la méthode des flux STD est certes plus élégante, et c'est celle que j'aimerais bien utiliser. Mais depuis ce soucis, je fais preuve de pragmatisme et j'utilise la méthode qui fonctionne partout.

