• BATCH > saisie ou pression sur une touche du clavier

      CHOICE

      Permet la saisie d’un caractère issu d’une liste en retournant l’index de l’élément choisi par le ERRORLEVEL.

      Si l’utilisateur presse une touche non renseignée, un bip d’erreur se fait entendre.

       

      Exemple : choice /C abc

      Si l’utilisateur presse la touche a ou b ou c, renvoie le code 1 pour a, 2 pour b et 3 pour c.

      Par défaut, affiche YN (yes ou no)

       

      choice /N Masque les choix dans le prompt

       

      choice /CS ou choice /S Permet la différenciation entre minuscule et majuscule

       

      choice /M texte Affiche le texte avant le prompt

       

      Choix par défaut

      choice /C abc /D b /T 9

      choice /C abc /T:b,9
      /T durée ou /T:défaut,durée Nombre de secondes ( 0 à 9999 ) avant un choix par défaut
      /D défaut caractère par défaut

       

      ERRORLEVEL

      Par défaut, ERRORLEVEL envoie 1 pour Y, et 2 pour N.

       

      Si une erreur est détectée, ERRORLEVEL renvoie 255.

       

      Si l’utilisateur appuie sur [CTRL]+[BREAK] ou [CTRL]+[C], ERRORLEVEL renvoie 0.

       

      Les ERRORLEVEL doivent être listés par ordre croissant :

       

      CHOICE /C ABC /N /M "Choisissez A, B ou C"

      IF ERRORLEVEL 1 SET CHOIX=A
      IF ERRORLEVEL 2 SET CHOIX=B
      IF ERRORLEVEL 3 SET CHOIX=C

      ECHO vous avez choisi %CHOIX%

      DÉPLACEMENT DU CURSEUR

       

      @setlocal enableextensions enabledelayedexpansion
      @echo off
      title movement
      color 0a
      set length=
      set height= a
      :controls
      cls
      echo Use WASD to move your character ([]).
      echo.
      
      for %%a in ( %height% ) do echo.
      echo %length%[]
      
      choice /c wasd /n
      if %errorlevel% equ 1 call:up
      if %errorlevel% equ 2 call:left
      if %errorlevel% equ 3 call:down
      if %errorlevel% equ 4 call:right
      :left
      set length=!length:~0,-1!
      goto controls
      :right
      set length=%length%
      goto controls
      :up
      set height=!height:~0,-2!
      goto controls
      :down
      set height=%height% a
      goto control

       

 

Aucun commentaire

 

Laissez un commentaire