création d'une boucle

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
brioche31
Batcheur occasionnel
Messages : 4
Enregistré le : 16 août 2010 17:49

création d'une boucle

Message par brioche31 »

bonjour je suis nouveau sur le site , je construit pas mal de batch par mes propres moyens sans aucunes aide , mais j'aimerai avoir quelques éclaircissement et réponses si possible !

voici un batch que j'ai créé (enfin une partie ) qui permet de vérifier si un process tourne ,process msiexec.exe ,car cela bloque pour l'installation d autres logiciels windows, il fonctionne parfaitement ! mais je fais 20 tests si ce process est existant , avec à chaque fois une pause de 60 secondes mais je ne sais pas comment créer un boucle pour éviter de réécrire la ligne de commande ..

donc la voici :

ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ ³Û
ECHO ³ Verification presence process MSiexec ³Û
ECHO ³ ³Û
ECHO ³ ³Û
ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ECHO ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
echo.
echo ---verification de non presence d une autre installation en cour passe 1/20
echo.
echo.
echo.
echo.
FOR /f "usebackq tokens=5 delims= " %%i IN (`C:\temp\batch\pslist msiexec ^|find "found"`) DO GOTO dod
Set VarMessClgnt=une installation est en cours un process MSI tourne..L INSTALLATION DES LOGICIELS NE PEUT SE FAIRE PENDANT L EXECUTION DE CE PROCESS .pause de 60 secondes pour attendre la lib‚ration .
For /l %%i In (0,1,3) Do (
Cls &Color 0C &echo.&echo ==^> %VarMessClgnt% & Sleep 1
Cls &Color 0A &echo.&echo ==^> %VarMessClgnt% & Sleep 1
Cls &Color 0B &echo.&echo ==^> %VarMessClgnt% & Sleep 1
Cls &Color 0A &echo.&echo ==^> %VarMessClgnt% & Sleep 1
)
cls
echo.
echo.

j utilise l outil pslist pour la vérification des process , s il n'est pas présent donc comme indiqué dans ma ligne de commande , je continue le batch à la ligne "DOD"
je répète donc la ligne "Cls &Color 0A &echo.&echo ==^> %VarMessClgnt% & Sleep 1" 60 fois (elle change de couleur à l'affichage en fait ) car je ne sais pas comment faire une boucle , cela n'est pas embêtant le plus gênant , et que je dois répéter toute cette partie 20 fois !!!!! j'aimerai que celle ci soit relue donc 20 fois puis continue si le process n'est toujours pas débloqué !

voily je sais pas si c'est clair ! lol MERKI d avance
DarkBatcher
King Of Batch
Messages : 66
Enregistré le : 06 juil. 2010 17:37
Contact :

Re: création d'une boucle

Message par DarkBatcher »

Bonjour,

Tu n'as qu'à utiliser un goto:

Code : Tout sélectionner

:début
set /a valeur=%valeur%+1
Rem tu mets les commandes ici
Rem si le processus est libéré tu met valeur directement à 20 
Set valeur=20
If valeur=20 goto dod else goto début
Ce forum vous à aidé? Faites le vivre en vous connectant régulièrement et en répondant au questions posées sur le forum si vous avez une solution
Répondre