Récupérer ERRORLEVEL d'une commande DOS

Bachorx Messages postés 2 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 24 mai 2004 - 19 mai 2004 à 19:13
Bachorx Messages postés 2 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 24 mai 2004 - 24 mai 2004 à 15:13
Bonjour à tous,
Dans mon programme je fais un appel de la fonction DOS FC pour comparer deux fichiers excel avec la fonction "Shell" de VB. Mais je ne sais pas comment (ou même si cela est possible) récupérer l'ERRORLEVEL généré par FC ou par tout autre commande DOS.
Voila, si quelqu'un connait la solution, il serait gentil de m'en faire part.
Merci d'avance

BachorX

2 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
19 mai 2004 à 19:24
Bon je vais tricher mais voila une solution :
Faire un ficheir de commande DOS comme celui-ci (nommé fc.cmd)
@Echo Off
fc %1 %2
Echo %ErrorLevel%>%3

Et ensuite faire l'appel comme suit :
Shell "fc.cmd " & NomFic1 & " " & NomFic2 & " " & NomFicResult
Ou Nomfic1 et Nomfic2 sont des string avec les nom des tes fichier et NomFicResult une string avec un nom de fichier temporaire.
Ouvre ensuite le ficheir NomFicResult pour lire la valeur de ErrorLevel.
A noter qu'il vaudrait mieux utiliser une version synchrone de Shell, plutot que la version "de base" : Voir dans mes sources

Christophe R.
0
Bachorx Messages postés 2 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 24 mai 2004
24 mai 2004 à 15:13
Tout d'abord merci.
Donc j'ai fait un batch. Lorsque je le lance à partir d'une console DOS ca marche parfaitement.
Mais lorsque je le lance de VB avec la fonction shell ou ta fonction ShellWait, il n'ecrit pas ds le fichier temporaire.
Aurais tu une idée sur ce probleme?
Merci d'avance

BachorX
0
Rejoignez-nous