[Batch] Détection de touche

Résolu/Fermé
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 - 19 mars 2009 à 17:09
 Anonymous151001 - 20 mai 2016 à 21:34
Bonjour,
Je voudrais savoir si il y a moyen de faire un sorte de pause et si la personne appuis sur "D" sa affiche par exemple "Vous avez appuyer sur la touche D"
Si quelqu'un a une idée.
Merci.

Bilou.
A voir également:

9 réponses

cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
19 mars 2009 à 18:30
Cool merci je vais étudier se batch.
Merci.
2
Utilisateur anonyme
19 mars 2009 à 18:06
A ok.
dsl

Alors il faut utiliser "choice".

Le code doit ressembler à sa :

@echo off
cls
choice.exe /c:ABCDEFGHIJKLMNOPQRSTUVWXYZ /n "Entrez une touche...  "
if "%errorlevel%"=="1" echo "Vous avez appuyé A"
if "%errorlevel%"=="2" echo "Vous avez appuyé B"
if "%errorlevel%"=="3" echo "Vous avez appuyé C"
if "%errorlevel%"=="4" echo "Vous avez appuyé D"
if "%errorlevel%"=="5" echo "Vous avez appuyé E"
if "%errorlevel%"=="6" echo "Vous avez appuyé F"
if "%errorlevel%"=="7" echo "Vous avez appuyé G"
if "%errorlevel%"=="8" echo "Vous avez appuyé H"
if "%errorlevel%"=="9" echo "Vous avez appuyé I"
if "%errorlevel%"=="10" echo "Vous avez appuyé J"
if "%errorlevel%"=="11" echo "Vous avez appuyé K"
if "%errorlevel%"=="12" echo "Vous avez appuyé L"
if "%errorlevel%"=="13" echo "Vous avez appuyé M"
if "%errorlevel%"=="14" echo "Vous avez appuyé N"
if "%errorlevel%"=="15" echo "Vous avez appuyé O"
if "%errorlevel%"=="16" echo "Vous avez appuyé P"
if "%errorlevel%"=="17" echo "Vous avez appuyé Q"
if "%errorlevel%"=="18" echo "Vous avez appuyé R"
if "%errorlevel%"=="19" echo "Vous avez appuyé S"
if "%errorlevel%"=="20" echo "Vous avez appuyé T"
if "%errorlevel%"=="21" echo "Vous avez appuyé U"
if "%errorlevel%"=="22" echo "Vous avez appuyé V"
if "%errorlevel%"=="23" echo "Vous avez appuyé W"
if "%errorlevel%"=="24" echo "Vous avez appuyé X"
if "%errorlevel%"=="25" echo "Vous avez appuyé Y"
if "%errorlevel%"=="26" echo "Vous avez appuyé Z"
pause>nul


Le code est faux, je ne me souviens plus des options exact de "choice"... Tappe "choice.exe -help" dans le cmd pour corriger le code.

Si tu n'y arrive toujours pas, je récupère mon PC sous Windows dans 4-5 jours (en panne), je te ferai le code.


@+

H4RDW4RE
1
Utilisateur anonyme
19 mars 2009 à 17:50
Salut
Je ne suis pas sous Windows là, mais sa doit donner quelque chose comme sa :

@echo off
cls
set /p TOUCHE=Entrez une touche...
echo.
echo Vous avez appuyé sur la touche %TOUCHE%.
pause>nul


Je ne peut pas le tester, mais cela doit être cela...

@+
0
Anonymous151001
20 mai 2016 à 21:34
@echo off
color c
:menu
cls
choice /c wasd /n /m ""
if %errorlevel%==13 goto 13
pause>nul
:13
cls
echo.
echo Tu as appuyer sur D
echo.
pause>nul
goto menu
1
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
19 mars 2009 à 17:59
Oui je connais set /p
Mais comme une pause sans appuyer sur entré après.
Merci.

Bilou.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
19 mars 2009 à 18:11
Merci sa marche super bien.
J'ai déjà entendu parler de cette commande choice.
Mais il fallait l'installer ce que j'ai fait et sa marche super.
Merci.
0
Utilisateur anonyme
19 mars 2009 à 18:12
De rien, si t'as d'autres soucis, JUST ASK ;)
0
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
19 mars 2009 à 18:14
Oaui enfaite je tes demandé sa pour faire une sorte jeux.
Et j'aurais voulue savoir s'il y avait un moyen de faire un truc pour les cordonnées du style x et y.
Je pense a une commande for.
Mais je ne sais pas.
Merci.
0
Utilisateur anonyme
19 mars 2009 à 18:25
Tiens, c'est un petiit "jeux".
Tu pourra l'utiliser pour t'aider sur les axes X et Y.


@echo off
cls
title Jeux
mode con LINES=17 COLS=29
rem ------------------------------------
rem  Initialisations
rem ------------------------------------
set /A X=5
set /A dX=1
set /A Y=2
set /A dY=1
set VAR=O
set VAR_MUR=±
:debut
rem ------------------------------------
rem  Création de la ligne du curseur
rem ------------------------------------
  rem --- décalage colonne ---
  set /A colonne=0
  :decal_col_avant
    if %colonne% GEQ %X% GOTO decal_col_avant_termine
    set VAR=^ %VAR%
    set /A colonne+=1
    goto decal_col_avant
  :decal_col_avant_termine
  rem --- décalage colonne pour le mur de droite ---
  set /A X_restant=25-%X%
  :decal_col_apres
    if %X_restant% EQU 0 GOTO decal_col_apres_termine
    set VAR_MUR=^ %VAR_MUR%
    set /A X_restant-=1
    goto decal_col_apres
  :decal_col_apres_termine
  set VAR=±%VAR%%VAR_MUR%
rem ------------------------------------
rem  Affichage
rem ------------------------------------
  cls
  echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±

  rem --- décalage ligne avant ---
  set /A Y_decal_ligne=%Y%-1
  for /L %%j IN (0,1,%Y_decal_ligne%) DO (
    echo ±                          ±
  )
  rem --- ligne curseur ---
  echo %VAR%
  rem --- décalage ligne après ---
  set /A Y_restant=11-%Y%
  for /L %%j IN (0,1,%Y_restant%) DO (
    echo ±                          ±
  )
  echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±
  echo === X=%X% (%dX%), Y=%Y% (%dy%) ===
rem ------------------------------------
rem  Calculs des rebonds
rem ------------------------------------
  if %Y% EQU 12 SET /A dY*=-1
  if %Y% EQU 0 SET /A dY*=-1
  if %X% EQU 25 SET /A dX*=-1
  if %X% EQU 0 SET /A dX*=-1
rem ------------------------------------
rem  Réinitialisation de variables
rem  pour la prochaine boucle
rem ------------------------------------
  set VAR=O
  set VAR_MUR=±
  set /A X+=dX
  set /A Y+=dY
  set /A nb-=1
rem ------------------------------------
rem  Temporisation si nécessaire (à décommenter)
rem  XP: utiliser choice avec temporisation
rem      et donner la possibilité de quitter
rem ------------------------------------
rem  ping 127.0.0.1 -n 2 > NUL 2> NUL
goto debut



C'est un code que j'ai trouvé très "basique" sur un site, et je l'ai un peu modifier.

@+
0
Biniou226 Messages postés 11 Date d'inscription mercredi 16 avril 2014 Statut Membre Dernière intervention 19 février 2017
1 mai 2014 à 10:52
SVP quel est le code pour les flèches parce que je voudrais faire une menu de jeux et c'est pas très cool de choisir son mode de jeux avec des lettres.

Je connais le code pour toutes les lettres :
@echo off
choice.exe /c:ABCDEFGHIJKLMNOPQRSTUVWXYZ /n
if "%errorlevel%"=="1" echo "Vous avez appuyé A"
if "%errorlevel%"=="2" echo "Vous avez appuyé B"
if "%errorlevel%"=="3" echo "Vous avez appuyé C"
if "%errorlevel%"=="4" echo "Vous avez appuyé D"
if "%errorlevel%"=="5" echo "Vous avez appuyé E"
if "%errorlevel%"=="6" echo "Vous avez appuyé F"
if "%errorlevel%"=="7" echo "Vous avez appuyé G"
if "%errorlevel%"=="8" echo "Vous avez appuyé H"
if "%errorlevel%"=="9" echo "Vous avez appuyé I"
if "%errorlevel%"=="10" echo "Vous avez appuyé J"
if "%errorlevel%"=="11" echo "Vous avez appuyé K"
if "%errorlevel%"=="12" echo "Vous avez appuyé L"
if "%errorlevel%"=="13" echo "Vous avez appuyé M"
if "%errorlevel%"=="14" echo "Vous avez appuyé N"
if "%errorlevel%"=="15" echo "Vous avez appuyé O"
if "%errorlevel%"=="16" echo "Vous avez appuyé P"
if "%errorlevel%"=="17" echo "Vous avez appuyé Q"
if "%errorlevel%"=="18" echo "Vous avez appuyé R"
if "%errorlevel%"=="19" echo "Vous avez appuyé S"
if "%errorlevel%"=="20" echo "Vous avez appuyé T"
if "%errorlevel%"=="21" echo "Vous avez appuyé U"
if "%errorlevel%"=="22" echo "Vous avez appuyé V"
if "%errorlevel%"=="23" echo "Vous avez appuyé W"
if "%errorlevel%"=="24" echo "Vous avez appuyé X"
if "%errorlevel%"=="25" echo "Vous avez appuyé Y"
if "%errorlevel%"=="26" echo "Vous avez appuyé Z"
pause>nul

Merci d'avance. :)
0