Я хочу, чтобы пользователь выбрал алфавит

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

Есть ли способ избежать написания всех AZ, а затем

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

напишите все условия if, чтобы вернуть выбор в виде алфавита из %ERRORLEVEL%?

1 ответ1

1

Есть способ, при котором вам нужно всего лишь написать алфавит один раз при установке переменной. В начале требуется дополнительный символ, потому что первой опции CHOICE назначен 1, но первому символу в переменной переменной присваивается индекс 0 при выполнении операций с подстрокой.

@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%

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .