[batch] frappe de la touche entréé inatendue
AurA
-
AurA -
AurA -
Bonjour
mon probleme est le suivant je chercherai a verouiller le script de maniere
a ce qu il ne se kill pas a une frappe innatendu sur la touche entréé.
le script est fonctionnel mais a la demande de confirmation de la premiere variable
donc au niveau du setting de la variable oui/non les utilisateur pressés appuient
sur entréé et le script se coupe.
auriez vous une solution pour passer outre ce probleme ? je ne sait pas du tout
quoi donner a manger a google pour trouver la solution
ci joint le sript largement censurer mais ce n'est que le fond qui interesse :)
Merci a tous de vos lectures/reponses
__________________________________
@echo off
rem "installation silencieuse de l agent "
rem "Mappage du lecteur reseau avec les sources de l agent"
NET USE o: \\<network_path> /persistent:no
rem "lancement du setup AGENT"
o:\<nom de lexecutable>.exe /<switche de lexecutable>
net stop "<nom_du_service>"
cls
rem " un peu de deco :) ainsi que l explication pour les utilisateurs"
echo ###################
echo # Decoration #
echo ###################
echo blabla
echo reblalbla
echo blablablabla
:Balise 1
rem " demande le intervention utilisateur saisie d une chaine decaratere reutiliséé"
rem " plus tard "
echo "blabla"
rem "setting de la variable"
set /P <variable>=
echo "confirmation de la frappe utilisateur est %<variable>%"
echo est-ce correct ? tappez oui ou non et validez avec entree
set /P <variable oui/non>=
if %<variable oui/non>%==oui goto Balise 2
if %<variable oui/non>%==non goto Balise 1
:Balise 2
________________________________________________________________________
mon probleme est le suivant je chercherai a verouiller le script de maniere
a ce qu il ne se kill pas a une frappe innatendu sur la touche entréé.
le script est fonctionnel mais a la demande de confirmation de la premiere variable
donc au niveau du setting de la variable oui/non les utilisateur pressés appuient
sur entréé et le script se coupe.
auriez vous une solution pour passer outre ce probleme ? je ne sait pas du tout
quoi donner a manger a google pour trouver la solution
ci joint le sript largement censurer mais ce n'est que le fond qui interesse :)
Merci a tous de vos lectures/reponses
__________________________________
@echo off
rem "installation silencieuse de l agent "
rem "Mappage du lecteur reseau avec les sources de l agent"
NET USE o: \\<network_path> /persistent:no
rem "lancement du setup AGENT"
o:\<nom de lexecutable>.exe /<switche de lexecutable>
net stop "<nom_du_service>"
cls
rem " un peu de deco :) ainsi que l explication pour les utilisateurs"
echo ###################
echo # Decoration #
echo ###################
echo blabla
echo reblalbla
echo blablablabla
:Balise 1
rem " demande le intervention utilisateur saisie d une chaine decaratere reutiliséé"
rem " plus tard "
echo "blabla"
rem "setting de la variable"
set /P <variable>=
echo "confirmation de la frappe utilisateur est %<variable>%"
echo est-ce correct ? tappez oui ou non et validez avec entree
set /P <variable oui/non>=
if %<variable oui/non>%==oui goto Balise 2
if %<variable oui/non>%==non goto Balise 1
:Balise 2
________________________________________________________________________
A voir également:
- [batch] frappe de la touche entréé inatendue
- Jeux java itel touche - Télécharger - Jeux vidéo
- Touche remanente windows - Guide
- Quelle touche pour débloquer la souris ? - Guide
- Fichier batch - Guide
- Touche insert - Guide
1 réponse
Salut.
si tu met
if %<variabel oui/non>%=="" goto ...
en fait, il faut tester si ta variable n'est pas vide.
ou sinon, mettre un "else" et une balise juste après le "set /P<variable>="
exemple:
si tu met
if %<variabel oui/non>%=="" goto ...
en fait, il faut tester si ta variable n'est pas vide.
ou sinon, mettre un "else" et une balise juste après le "set /P<variable>="
exemple:
@echo off rem "installation silencieuse de l agent " rem "Mappage du lecteur reseau avec les sources de l agent" NET USE o: \\<network_path> /persistent:no rem "lancement du setup AGENT" o:\<nom de lexecutable>.exe /<switche de lexecutable> net stop "<nom_du_service>" cls rem " un peu de deco :) ainsi que l explication pour les utilisateurs" echo ################### echo # Decoration # echo ################### echo blabla echo reblalbla echo blablablabla :Balise 1 rem " demande le intervention utilisateur saisie d une chaine decaratere reutiliséé" rem " plus tard " echo "blabla" rem "setting de la variable" set /P <variable>= echo "confirmation de la frappe utilisateur est %<variable>%" :Balise 3 echo est-ce correct ? tappez oui ou non et validez avec entree set /P <variable oui/non>= if %<variable oui/non>%==oui goto Balise 2 if %<variable oui/non>%==non goto Balise 1 goto Balise 3 :Balise 2 ________________________________________________________________________
javais trouver une autre solution qui utilisee un switch de if /I ainsi qu un operateur logique NEQ ( non equal) ce qui me donner pour la variable de confirmation
...
if %<variable oui/non>%==oui goto Balise 2
if %<variable oui/non>%==non goto Balise 1
if /I %<variable oui/non>% NEQ oui goto balise 3
if /I %<variable oui/non>% NEQ non goto balise 3
...
cependant ce n est pas la solution choisie car le script avait du mal a se retrouver avec 4 if a la suite jai donc modifier comme il suis avec la vaiable de confirmation setter par defaut a 2
...
set <variable oui/non>=2
echo est-ce correct ? tapez 1=>oui 2=>non et validez avec entree
set /P <variable oui/non>=
if /I %<variable oui/non>% LEQ 1 goto Balise 2
if /I %<variable oui/non>% GEQ 2 goto balise 1
...
le seul soucis reste la gestion du caractere espace qui met fin au script de maniere innatendue dans les deux variables en esperant qu il ny ai pas de faute de frappe de la part des utilisateurs :) car la le script commence a ressembler a rien ( suis vraiment pas doué ^^ )