Batch: Commande Wait

Fermé
ethan.owl - 19 mars 2011 à 07:27
FiceA Messages postés 34 Date d'inscription jeudi 28 mai 2015 Statut Membre Dernière intervention 24 août 2016 - 15 nov. 2015 à 17:13
Bonjour,
Je voudrais installer plusieurs trucs successivement et que le script attends la fin de l'installation du premier pour commencer le second, des fichiers .msi, et j'ai fait appel à batch pour automatiser ce truc. Le hic, c'est que j'ai pas les syntaxes exactes pour ce faire. Au début, J'ai juste utilisé ça:

companion.core.msi
/wait
companion.mui.msi
... etc


et au début, ça a marché, puis je sais pas ce qui s'est passé mais ça donne des tas de messages d'érreur me disant ceci ou celà n'est pas reconnu comme commande interne ou je me souviens plus quoi... Mais bon, je vous serais vraiment reconnaissant si vous pouvez m'aider à ce que je doit faire.

Merci beaucoup. :)

1 réponse

zephir666 Messages postés 108 Date d'inscription dimanche 26 mai 2013 Statut Membre Dernière intervention 23 décembre 2021 10
2 nov. 2015 à 15:17
salut utilise la commande call avec un vbs exemple:


@echo off
:debut

echo set anmelden = createobject("wscript.shell")>>pause.vbs
echo.>>pause.vbs
echo wscript.sleep (5000)>>pause.vbs

::créez un vbs pour faire la pose sachant que
::5000 Etant egale au nombre de milliseconde de pause soit 5 seconde actuellement

cls
echo attendre 5 seconde
call pause.vbs
::en utilisant la commande call le batch attendra après le vbs
::et une fois le vbs terminé il reprendra normalement

cls
echo le temps est ecouler!
del pause.vbs

::une fois la pause terminée je supprime le vbs pour évité dans avoir 300 ou ::évité les msg d'erreur mais ça veux dire aussi qu'il faut recréez le vbs ::pour chaque pause mais cela te permet aussi de créez autant de pause que ::tu veux et de régler le temps écoulé a la milliseconde pres pour chaqu'une ::de tes pause
pause>nul
goto debut


voila j'espère avoir put être utile si tu a une autre question n'hésite pas ^^
0
FiceA Messages postés 34 Date d'inscription jeudi 28 mai 2015 Statut Membre Dernière intervention 24 août 2016 4
15 nov. 2015 à 17:13
Il existe aussi la commende : timeout /t 5 /nobreak >NUL directement en batch.
PS : timeout = nom de la commande
/t 2 = paramètre de secondes / 5 = nbr de seconde
/nobreak > L'appui sur une touche n'annulera pas la commande
>NUL = commande qui se fait sans se voir.
0