Obtener la elección convertida al alfabeto en lote


0

Quiero que el usuario elija un alfabeto

CHOICE /C A-Z /D D /T 3 /M "Choose an alphabet: "

¿Hay una manera de evitar escribir todos los A-Z y luego

IF %ERRORLEVEL% EQU 1 SET CHOICE=A
IF %ERRORLEVEL% EQU 2 SET CHOICE=B
...

escriba todas las condiciones if para recuperar la elección como el alfabeto de %ERRORLEVEL%?

Respuestas:


1

Hay una forma en la que solo necesita escribir el alfabeto una vez mientras configura una variable. Se necesita un carácter adicional al principio porque a la primera opción de OPCIÓN se le asigna 1, pero al primer carácter de una cadena variable se le asigna el índice 0 cuando se realizan operaciones de subcadena.

@echo off
setlocal enableDelayedExpansion
set "choices= ABCDEFGHIJKLMNOPQRSTUVWXYZ"
choice /c %choices:~1% /d D /t 3 /m "Choose a letter: "
set "choice=!choices:~%errorlevel%,1!"
echo you pressed %choice%
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.