IF
L’ordre IF permet la comprovació de condicions durant l’execució d’un procés
per lots. Si la condició és certa, executarà l’ordre que segueix a la condició, en
cas contrari s’ignora l’ordre i es passa a la línia següent.
Formats que pot tenir l’ordre IF:
a) IF [NOT] ERRORLEVEL nombre ORDRE
Significat: La condició és donada per l’ERRORLEVEL nombre; indica que una
condició només serà veritat si l’ordre executada anteriorment ha retornat un
codi de sortida igual o més gran que l’indicat en la condició. Sempre que
s’executa una ordre, l’MS-DOS retorna un valor que depèn de la instrucció
executada i del resultat d’aquesta. Es retorna el valor 0 quan l’ordre s’ha
executat correctament, i un valor diferent en cas contrari.
b) IF [NOT] CADENA1 == CADENA2 ORDRE
Significat: Fa una comparació de cadenes de caràcters. Les cadenes no cal
escriure-les entre cometes dobles.
c) IF [NOT] EXIST trajectòria_fitxer ORDRE
Significat: Comprova l’existència d’un fitxer.
[NOT] : equival a negar una cosa. El seu ús és opcional.
Exemple:
@ECHO OFF
REM Formata un disquet
CLS
ECHO introdueix un disquet en la unitat A:
ECHO prem una tecla per continuar
PAUSE > NUL
ECHO.
FORMAT A:
IF NOT ERRORLEVEL 0 GOTO : ERROR
ECHO Disquet formatat
GOTO : FI
:ERROR
ECHO No puc formatar!
:FI
ECHO Prem una tecla per continuar
CLS