Finalidad:Ejecutar uno de varios conjuntos alternativos de comandos basados ​​en los valores de expresiones condicionales.

 

Formato:IFF condición1 ENTONCES

conjunto de comandos1

[ELSEIFF condición2  ENTONCES

conjunto de comandos2 ]

...

[DEMÁS

conjunto de comandos3 ]

ENDIFF

 

condición1,2,3

Expresiones condicionales

conjunto de comandos1

Uno o más comandos para ejecutar si condición1 es verdad

conjunto de comandos2

Uno o más comandos para ejecutar si condición1 es FALSO, pero condición2 es verdad.

conjunto de comandos3

Uno o más comandos para ejecutar si ambos condición1 y condición2 son FALSAS.

 

Ver también: IF y @SI.

 

Uso:

 

IFF es similar a IF, pero puede realizar uno conjunto de comandos cuando un expresión condicional es cierto y diferente conjunto de comandos cuando es falso. El uso repetido de la cláusula ELSEIFF opcional permite a IFF evaluar secuencialmente múltiples e independientes expresión condicionals, y ejecutar el conjunto de comandos asociado con el primer VERDADERO expresión condicional, o, si ninguno es cierto, el conjunto de comandos asociado con la cláusula ELSE opcional. Después de la ejecución de cualquiera de los conjuntos de comandos Se ejecutará el comando después de la cláusula ENDIFF.

 

También debe comenzar una nueva línea o Incluir un separador de comando :

 

después de cada ENTONCES

antes de cada ELSEIF

tanto antes como después de la ELSE.

 

Los comandos individuales en cada conjunto de comandos puede ser líneas separadas de un archivo por lotes, o pueden estar separados por separadores de comando, en cualquier combinación. A conjunto de comandos también puede estar vacío. Los comandos individuales en un conjunto de comandos puede incluir cualquier comando interno, alias, comando externo o archivo por lotes.

 

Las declaraciones IFF pueden ser anidado, es decir, un conjunto de comandos puede incluir otro grupo IFF/ENDIFF. Debes asegurarte de que cada comando individual / conjunto de comandos es sintácticamente correcto. Si un grupo IFF/ENDIFF "interno" tiene un error, es posible que no se detecte hasta que se haya ejecutado el ENDIFF "externo".

 

Si el último argumento en la línea es un solo (, se interpreta como el inicio de un grupo de mando. IFF agregará las siguientes líneas (en un archivo por lotes) o le solicitará más información (en la línea de comando) hasta que cierre ).

 

Notas

 

Asegúrese de leer las notas de precaución. about GOTO y el IFF bajo el GOTO comando antes de usar un GOTO dentro de una declaración IFF.

 

Si tubo datos a un IFF, los datos se pasarán a los comandos que siguen al IFF, no al IFF en sí.

 

Ejemplo:

 

El alias en este ejemplo verifica si el parámetro es un subdirectorio. Si es así, el alias elimina los archivos del subdirectorio y lo elimina (ingrese esto en una línea):

 

alias podar `iff isdir %1 entonces & del /s /x /z %1 & else & echo %1 no es un directorio! & endiff`