CMD

CMD
Las publicaciones en este blog estan exclusivamente redactadas por los autores, excepto citas. Todos los codigos aqui indicados han sido previamente probados

miércoles, 19 de noviembre de 2014

Comando "choice"

Como mencionamos anteriormente en este blog, hay un comando llamado "set /p" que sirve para preguntar algo al usuario y a partir de esa respuesta, crear una variable. Este comando es poco adecuado cuando se trata de pedir una respuesta como puede ser "1,2 ó 3", o "A,B ó C". Justamente este problema lo soluciona el comando choice, el cual automaticamente elige como respuesta la tecla presionada. Su sintaxis es de muy facil uso, como se puede ver en la siguiente imagen:

















Luego del comando, al lado del "/C" van las letras y/o números que se quiere que aparezcan como opciones para responder, sin ningún tipo de separación, todas juntas. No importa cuales sean las letras y/o números que estén después de "/C", pero si las opciones son "WASD", la W es 1, la A es 2, la S es 3 y la D es, obviamente, 4, por lo que en los renglones de abajo, como se observa en la imagen, se debera escribir: (solo doy el codigo del primero, los otros son similares, pero es importante que cada uno vaya abajo del anterior) "if %errorlevel%==1 comando". Esta linea es un ejemplo en el que la respuesta es "W" (-MUY IMPORTANTE- los dos signos de igual). Volviendo a lo anterior, si les queda la duda de que es "/M", es el mensaje que se mostrará junto con el comando choice. Este lo escribe cada uno a su gusto. Espero que hayan entendido, cualquier cosa comenten.

3 comentarios:

  1. Gracias por el tutorial, hay alguna forma de hacerlo con una pregunta de si y no?

    ResponderEliminar
  2. @echo off
    choice /C SN /M "Hola te llamas pancho?"
    if %errorlevel%==1 echo Adivine tu nombre y es Pancho
    if %errorlevel%==2 echo ¿no? entonces te llamas %USERNAME%
    pause
    exit

    ResponderEliminar
  3. Buenos dias. Usando "choice" ¿puedo hacer que pida la entrada del usuario durante pocos milisegundos?.

    ResponderEliminar