Attendre la fin d'un cmd

Signaler
Messages postés
24
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
19 février 2015
-
 Utilisateur anonyme -
Bonjour,
Dans mon code Vb.net,je lance un cmd (toto.cmd) par la commande :
shell("D:\toto.cmd",,true).
Mon cmd lance un script qui dure un certain temps.
Mon problème c'est que au lieu d'attendre la fin de mon cmd,
mon code vb.net continue.
Et je ne peux pas mettre de sleep car mon cmd peux aussi bien durer 5mins que
20 mins.

Avez-vous une solution ?

Merci

4 réponses

Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
157
Bonjour,

Tu as pas du chercher longtemps :
http://www.vbfrance.com/forum/sujet-ATTENTE-FIN-COMMANDE-SHELL_36898.aspx

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site

Bonsoir,

Au lieu de Shell tu peux utiliser la classe Process

déclaration :
Dim p As New Process


lancement :
p = Process.Start(New ProcessStartInfo("toto.cmd"))


détection de fin :
If p.HasExited Then ....


Bonne soirée.
Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
157
Bonjour,

Merci banana32, je n'avais pas vu que c'était .NET.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site

Pas de problème Nicolas