Bat-tiedosto/menu-toiminto

Liittynyt
31.05.2017
Viestejä
4 389
En yhtäkkiä löytänyt sopivaa ketjua, joten tehdäänpä uusi. Eli: pitäisikö bat-tiedostossa toimia menu-toimintoa käyttäessä muut kuin numerot? Alla olevassa 1-9 toimivat hyvin, mutta a, b, c ja x eivät toimi.


echo off

:menu
cls

echo.

echo 1 tekstiä
echo 2 tekstiä
echo 3 tekstiä
echo 4 tekstiä
echo 5 tekstiä
echo 6 tekstiä
echo 7 tekstiä
echo 8 tekstiä
echo 9 tekstiä
echo a tekstiä
echo b tekstiä
echo c tekstiä
echo x tekstiä
echo.
echo.

choice /C 123456789abcx /M "Valitse seuraavista: "
goto menu%errorlevel%

:menu1
goto tekstiä

:menu2
goto tekstiä

:menu3
goto tekstiä

:menu4
goto tekstiä

:menu5
goto tekstiä

:menu6
goto tekstiä

:menu7
goto tekstiä

:menu8
goto tekstiä

:menu9
goto tekstiä

:menua
goto tekstiä

:menub
goto tekstiä

:menuc
goto tekstiä

:menux
goto tekstiä

.
.
.
 
Liittynyt
20.10.2016
Viestejä
6 233
Kyllä pitäisi toimia...

/c <choice1><choice2><…>Specifies the list of choices to be created. Valid choices include a-z, A-Z, 0-9, and extended ASCII characters (128-254).

Mutta
The ERRORLEVEL environment variable is set to the index of the key that the user selects from the list of choices.

As you've seen the choice command only lets the user type one character. Also, the choice command sets the errorlevel to the POSITION of the character in the possible-values string. I.E. choice /C "1230" would set the errorlevel to 1, 2, 3 or 4 respectively.


Ja ei tuosta ainakaan selvinnyt, että miten paljon se tukee noita valintoja kaikkiaan, eli meneekö yli 9 tuo index edes.

Eli jos haluat käyttää myös kirjaimia koodissa (helpompi lukea jälkikäteen), niin lienee helpompaa lukea suoraan SET komennolla käyttäjän valinta ja sen mukaan sitten toimia, kuten täällä on ehdotettu.

 
Toggle Sidebar

Statistiikka

Viestiketjut
241 159
Viestejä
4 214 030
Jäsenet
71 010
Uusin jäsen
vembula

Hinta.fi

Ylös Bottom