Uzyskaj wybór przekonwertowany na alfabet w partii


0

Chcę, aby użytkownik wybrał alfabet

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

Czy istnieje sposób na uniknięcie pisania wszystkich A-Z, a następnie

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

napisz wszystkie warunki if, aby uzyskać wybór z powrotem jako alfabet %ERRORLEVEL%?

Odpowiedzi:


1

Istnieje sposób, w którym wystarczy wpisać alfabet tylko raz, ustawiając zmienną. Dodatkowy znak jest potrzebny na początku, ponieważ pierwszej opcji WYBÓR jest przypisany 1, ale pierwszy znak w zmiennym łańcuchu ma przypisany indeks 0 podczas wykonywania operacji podciągania.

@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%
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.