Section courante

A propos

Section administrative du site

IF

Si
Zenith Data Systems Microsoft MS-DOS 2 Interne

Syntaxe

IF [NOT] condition command

Paramètres

Nom Description
condition Ce paramètre permet d'indiquer la condition devant être vraie pour exécuter la commande spécifiée ; les conditions que vous pouvez spécifier sont :
Condition Description
ERROR LEVEL number Cette condition est vrai si et seulement si le programme précédent exécuté par COMMAND avait un code de sortie de nombre spécifié ou supérieur à 0. Où number est la valeur du code de sortie du programme précédemment exécuté par le système.
EXIST filename Cette condition est vrai si et seulement si le nom de fichier spécifié existe.
string1=string2 Cette condition est vrai si et seulement si les deux chaînes sont identiques ; les paramètres remplaçables peuvent spécifier les chaînes de caractères dans cette condition ; les chaînes de caractères ne peuvent pas inclure de séparateurs intégrés.
NOT condition Cette condition est vrai si et seulement si la condition est fausse ; NOT peut être appliqué à l'une des autres conditions.
command Ce paramètre permet d'indiquer la commande MS-DOS a exécuté si c'est la condition est rempli.

Description

Cette commande permet d'effectuer une commande conditionnelle.

Remarque

Concepts préliminaires

Les commandes résidentes de traitement par lots sont le plus souvent exécutées à partir d'un fichier de commandes, bien qu'elles puissent être utilisées directement à partir de la ligne de commande dans certains cas.

Remarque : Vous devez toujours terminer chaque ligne d'un fichier de traitement par lot en appuyant sur la touche RETURN.

L'instruction IF permet l'exécution conditionnelle de commandes. Lorsque la condition est vraie, la commande est exécutée. Sinon, la commande est ignorée.

Si une condition est vraie, le fichier de commandes exécutera la command ; sinon, il sera ignoré. La condition peut comparer deux chaînes de caractères, vérifier si un fichier existe sur le disque ou rechercher un numéro de ERROR LEVEL. La partie command de l'instruction IF peut inclure une instruction GOTO.

Les étiquettes GOTO doivent commencer par deux-points (:) et l'instruction GOTO exécutera la commande sur la ligne sous l'étiquette GOTO. Reportez-vous à la section sur la commande GOTO dans cette page pour plus d'informations sur son utilisation.

Vous pouvez également utiliser le paramètre remplaçable s avec dans l'instruction IF, en tant que variables à remplacer par des valeurs spécifiques au moment de l'exécution.

Les paramètres remplaçables %0 à %9 sont utilisés dans un fichier de traitement par lots en tant que paramètres "fictifs" étant remplacés séquentiellement par des valeurs réelles lors de l'exécution du fichier de traitement par lots.

Les paramètres sont remplacés, dans l'ordre, sur la ligne de commande. Une correspondance un à un est établie entre les commandes prototypes dans la ligne de commande et les paramètres remplaçables dans le fichier de traitement par lot. C'est-à-dire que '%1' représente la première valeur (nom, nombre ou texte) tapée après la commande, et ainsi de suite. Cette relation est illustrée dans l'exemple suivant.

L'exemple de ligne de commande ci-dessous correspond individuellement aux paramètres remplaçables affichés sous chaque composant de la ligne de commande :

Remarque : Le paramètre remplaçable '%0' est toujours remplacé par le nom de l'unité de disque (si spécifié) et le nom du fichier de traitement par lots.

Bien que vous ne puissiez utiliser que dix paramètres remplaçables au maximum dans un fichier de commandes (%0 à %9), vous pouvez éviter cette limitation en utilisant la commande SHIFT. La commande SHIFT décale les paramètres vers la gauche, un paramètre à la fois. Voir la commande SHIFT.

Entrée de ligne de commande

La commande IF utilise le paramètre condition pour vérifier trois types différents de conditions devant être remplies avant que l'instruction IF complète puisse être exécutée.

Ces trois types de conditions sont :

Par exemple, vous pouvez inclure les commandes suivantes dans un fichier de traitement par lots pour vérifier qu'un fichier existe&nbs;:

IF EXIST %1 GOTO X
GOTO Y
:X
ECHO C'EST UN FICHIER SUR UN DISQUE
:Y

Ceux-ci vous permettraient de spécifier un nom de fichier et que votre écran affiche le message :

C'EST UN FICHIER SUR UN DISQUE

si le fichier spécifié existait sur le disque.

L'instruction IF suivante offre un autre exemple de fonctionnement :

IF EXIST filespec command

L'instruction IF EXIST serait vraie si, et seulement si, filespec existe effectivement sur l'unité de disque désigné. Les noms de chemin ne peuvent pas être utilisés avec la variable filespec dans cette situation.

Les exemples suivants illustrent comment cela fonctionne lorsque le paramètre [NOT] précède le paramètre condition :

IF NOT condition

L'instruction IF serait vraie si, et seulement si, le paramètre condition est faux.

L'exemple suivant illustre le paramètre IF EXIST long avec la commande GOTO :

IF EXIST FILEFORM.DOC GOTO XYZ
-
-
-
:XYZ
command

Cette commande amènera le processeur à accéder à l'étiquette :XYZ pour exécuter la command, si FILEFORM.DOC se trouve sur l'unité de disque par défaut. SI FILEFORM.DOC n'est pas trouvé, GOTO XYZ ne sera pas exécuté. Au lieu de cela, le traitement se poursuivrait avec la commande suivante dans l'ordre dans le fichier de commandes.

Par contre, si vous précisez :

IF NOT EXIST FILEFORM.DOC GOTO XYZ
-
-
-
:XYZ
command

la condition que FILEFORM.DOC ne se trouve pas sur l'unité de disque par défaut doit être remplie avant que la commande GOTO XYZ puisse être exécutée.

Si FILEFORM.DOC se trouve sur l'unité de disque par défaut, le traitement n'exécutera pas GOTO XYZ. Au lieu de cela, le traitement continuerait avec la commande suivante dans le fichier de commandes.

La commande IF utilisant le paramètre string1 == string2 est illustrée dans l'exemple suivant :

IF %1 == Bonjour ECHO Comment aller vous ?

Si un fichier de commandes est exécuté avec cette commande, où Bonjour est donné comme paramètre %1, cela rendrait la condition vraie. La commande ECHO serait exécutée, provoquant l'affichage à l'écran le message suivant :

Comment aller vous ?

Si Bonjour n'est pas donné comme paramètre %1, la condition ne serait pas vraie. La commande ECHO ne serait pas exécutée et le traitement continuerait avec la commande suivante dans le fichier de traitement par lots.



Dernière mise à jour : Mercredi, le 24 Août 2022