[R] Commande Run help

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Goguy
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mer. 14 janv. 2009 15:01
Status : Hors ligne

[R] Commande Run help

#1

Message par Goguy »

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 ?
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Commande Run help

#2

Message par sksbir »

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.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Commande Run help

#3

Message par TommyDDR »

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

Code : Tout sélectionner

Run()
(opt_flag) et utilisez $STDERR_OUT puis un

Code : Tout sélectionner

StdErrRead()
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Commande Run help

#4

Message par sksbir »

des bêtises, vraiment ? :P

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
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: [..] Commande Run help

#5

Message par GaRydelaMer »

Bonjour

parfaitement des bêtises :P :lol: , 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.
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Commande Run help

#6

Message par sksbir »

GaRydelaMer a écrit :Bonjour
parfaitement des bêtises :P :lol: , 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.
Pour moi, cet aspect des choses est annexe. Encore une fois, il est demandé de récupérer le RETURN CODE.

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.
Goguy
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mer. 14 janv. 2009 15:01
Status : Hors ligne

Re: [..] Commande Run help

#7

Message par Goguy »

Merci
Répondre