Saltar al contenido

Anidando IF en el archivo Bat de Windows

Laura, parte de nuestro staff, nos ha hecho el favor de redactar este post ya que conoce a la perfección dicho tema.

Solución:

En realidad, no estoy seguro de que necesite ELSE, y mucho menos un IF anidado, para su caso de uso:

@echo off

IF NOT "%1%"=="0" (
    goto proc3
)
IF "%2%"=="0" ( 
    goto proc1
) 

goto proc2 

:proc1
echo in Proc1 0 0
pause
exit
:proc2
echo in Proc2 0 N0
pause
exit
:proc3
echo in Proc3 N0  0
pause
exit

Si por alguna razón realmente desea anidar sus IF, le falta un corchete:

Tu lote:

IF %1% == 0 (
    IF %2% == 0 ( goto proc1
    ) ELSE ( goto proc2
)
***MISSING )***  ELSE ( goto proc3
)

Lote que debería funcionar:

IF "%1%" == "0" (
    IF "%2%" == "0" ( 
    goto proc1
    ) ELSE ( 
    goto proc2
    )
) ELSE ( 
    goto proc3
)

Recuerda algo, que puedes permitirte explicar tu experiencia .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *