[Solucionado] [Dúvida] Funcão ELSE

Started by cebolaaa, 11 de June , 2007, 11:19:20 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

cebolaaa

Intão Pessoal,,, eu usei 2 veses o ELSE num programa aqui... dps fui usar em outras partes do programa
tipo:
============================
:0
set /p a=Escolha a opcao:
rem
if %a%==1 goto b else goto 0
if %a%==2 goto c else goto 0
============================
:b
exit
============================
intaum pessoal, ta certo num ta?
so q nao funciona.... tem limitacoes de ELSE no  batch?
Obrigado. Abraços.

whit3_sh4rk

[cebolaaa]
Quando criar um tópico contendo dúvida, e que não esteja na seção dúvidas, coloque na frente:
[Dúvida] Função ELSE

@echo off
:0
echo Escolha a opcao:
set /p a=
rem
if %a%==1 ( goto b ) else ( goto 0 )
if %a%==2 ( goto c ) else ( goto 0 )
echo FIM
echo.
pause

Teste..

[]s

cebolaaa

1º Desculpa , eskeçi o [Duvida} eu costumo por;
2º Funcionou;
3º Mto Obrigado xD;
4º Me explique por favor,,, pq por nos "goto" ( goto X ) qdo se usa o ELSE?
5º Abraços.

whit3_sh4rk

[cebolaaa]
Consulte o ajuda do próprio prompt, para ter uma explicação sobre o mesmo(IF /?)

Resumidamente, o motivo seria a questão de parâmetros:
IF CONDICAO ACAO ELSE ACAO
A ação à seguir por exemplo:
goto 0
Contém 2 parâmetros:
goto - função
0 - índice

Quando uma ação consiste em 2 ou mais parâmetros, deve-se utilizar os parenteses para que o prompt consiga interpretar.

Não precisaria se fosse no caso:
IF %a%==1 EXIT ELSE DIR

Porque as ações acima são constituídas de apenas 1 parâmetro que no caso é a função.

[]s