Veja como alguém faz esse menu em um script com TCC / LE da JP Software :
@echo off
:: pill.btm
text
Do you want to root your Nexus 5?
-----------------------------------------
Y. Red Pill......
----------------------------------------
or
N. Blue Pill......
----------------------------------------
endtext
inkey /k"YNRB" ' 'Red Pill or Blue Pill?:' ' %%root
switch "%root%"
case "Y" .OR. "R"
call root\run
case "N" .OR. "B"
exit
endswitch
A opção /k
para inkey
restringe quais pressionamentos de tecla são aceitáveis, eliminando a necessidade de repetição de loop e imprimindo prompts extras se uma seleção inválida for fornecida. O comando switch
faz uma comparação sem distinção entre maiúsculas e minúsculas e também suporta .OR.
.
É claro que o TCC (e seus predecessores) sempre facilitaram a apresentação de interfaces de usuário muito melhores a partir de scripts de comando. Aqui está uma versão melhorada do acima mencionado:
@echo off
:: pill.btm
cls white on blue
drawbox 1 10 6 70 2 green on black fill zoom shadow
drawhline 3 12 57 1 green on black
scrput 2 24 white on black Do you want to root your Nexus 5?
scrput 4 34 red on black Y. Red Pill
scrput 5 34 blue on black N. Blue Pill
drawbox 10 39 12 41 2 green on black fill shadow
screen 11 40
inkey /k"YNRB" %%root
switch "%root%"
case "Y" .OR. "R"
cls white on black
scrput 4 34 red on black Y. Red Pill
screen 11 0
call root\run
case "N" .OR. "B"
cls white on black
scrput 5 34 blue on black N. Blue Pill
screen 11 0
exit
endswitch
É apenas 1 linha mais longa, mas tem algumas melhorias, e a última delas é a exibição da "pílula" escolhida, em cores.
No entanto, não há motivo para que um script de comando no Windows tenha uma interface de usuário textual. O TCC também pode fazer uma versão gráfica, que é apenas um 3 liner:
@echo off
msgbox /2 /q continueabort "Red pill, blue pill" About to root your Nexus 5
if %_? == 15 call root\run
Observe o uso de call
, a propósito. Este é um bug no script de techie007
. ☺
E já se passaram 25 anos. Não precisamos usar a extensão command
do .bat
. cmd
da Microsoft usou .cmd
desde a versão 1 do OS / 2. Você notará que eu usei .btm
do TCC / LE acima - um hábito acumulado ao escrever .btm
scripts que funcionariam com 4NT, 4DOS e 4OS2 .
Leitura adicional
- Software JP. INKEY . Take Command / TCC Help.
- Software JP. MSGBOX . Take Command / TCC Help.
- Software JP. SWITCH . Take Command / TCC Help.
- Software JP. CALL . Take Command / TCC Help.
- Software JP. arquivos .BAT, .CMD e .BTM . Take Command / TCC Help.