O choice trabalha com %errorlevel%
.
So pra vc entender melhor execute este script
.
- Código:
@echo off
:inicio
echo.
choice /c snc /m "S significa ^(1^) Sim, N significa ^(2^) Nao, C ^(3^) cancela"
echo.
echo CHOICE errorlevel - %errorlevel%
goto:inicio
.
apartir do errorlevel podemos encaminhar para a proxima pergunta
.
- Código:
@echo off
echo.
choice /c SNC "Voce ja jantou hoje?"
goto:%errorlevel%
:1
echo.
echo. Sim.
exit/b
:2
echo.
echo. Nao.
exit/b
:3
echo.
echo. Nao quero responder.
exit/b
.
Entao e so vc seguir a logica.
.
Se a pessoa responder s o errorlevel vai ser 1
Se a pessoa responder n o errorlevel vai ser 2
Se a pessoa responder c o errorlevel vai ser 3
.
Ai, o meu principio de logica.
Como as perguntas em sua maioria sao juridicas (binarias)
(Sim, Nao), então vc pode usar o choice.
Sim, eu jantei.
Nao, eu nao jantei.
=> Ou entao, a fim de desespero, vc pode colocar a resposta de um politico, (Nao me lembro de qual)
=> Que um dia respondeu. "Eu sou meio virgem". õ.Õ (to tentando entender até hoje)
.
NO teu caso como vc informa que ira conter varias perguntas, vc pode acrescentar caracteres
para chamar a proxima pergunta.
.
- Código:
@echo off
echo.
choice /c snc /m "Estava boa a janta?"
goto:1_%errorlevel%
:1_1
echo.
echo. Sim.
echo.
choice /c TMC /m "Era Trivial ou Macarronada?"
goto:2_%errorlevel%
:1_2
echo.
echo. Nao.
echo.
choice /c TMC /m "Era Trivial ou Macarronada?"
goto:2_%errorlevel%
:1_3
echo.
echo. Nao quero responder.
goto:bye
:2_1
echo.
choice /c snc /m "Continha alguma mistura adicional?"
goto:3A_%errorlevel%
:2_2
:: Note que nesta resposta deixo somente 2 escolhas
echo.
choice /c CS /m "Voce gosta de Macarrao Com ou Sem queijo?"
goto:3B_%errorlevel%
:3A_1
:3A_2
:3A_3
:3B_1
:3B_2
:: E vc pode tb colocar varias opcoes de escolha
echo.
echo. De qual tipo de sobremesa vc gosta?
echo. A - Sunday^ E - Torta de Maca
echo. B - Sorvete^ F - Bolo da vovo
echo. C - Mousse^ G - Chocolate com morango
echo. D - Pudim^ H - Nao gosta de sobremesa
choice /cs abcdefgh>nul
goto:sobremesa_%errorlevel%
:sobremesa_1
:sobremesa_2
:sobremesa_3
:sobremesa_4
:sobremesa_5
:sobremesa_6
:sobremesa_7
:sobremesa_8
:bye
echo.
echo. E assim vc pode ser feliz.
ping -t localhost>nul
exit
.
Entendeu?? =)