Objet :Branchement sur une ligne spécifiée dans le fichier batch courant

 

Format :GOTO [/I] label

 

labelL'étiquette du fichier de traitement par lots vers laquelle passer.

 

/I(FF et DO continuent)

 

Voir aussi : GOSUB, CALL.

 

Utilisation :

 

GOTO ne peut être utilisé que dans les fichiers batch.

 

Après une commande GOTO dans un fichier batch, la prochaine ligne à être exécutée sera celle qui suit immédiatement l'étiquette.  L'étiquette doit commencer par deux points [:] et apparaître sur une ligne seule ; elle ne peut pas être incluse dans un groupe de commandes. Les deux-points sont obligatoires sur la ligne où l 'étiquette est définie, mais ne le sont pas dans la commande GOTO elle-même. Les différences de majuscules et de minuscules sont ignorées lors de la comparaison des étiquettes.

 

Ce fragment de fichier batch vérifie l'existence du fichier CONFIG.SYS. Si le fichier existe, le fichier batch passe à C_EXISTS et copie tous les fichiers du répertoire actuel dans le répertoire racine sur A :. Dans le cas contraire, il affiche un message d'erreur et quitte le système.

 

if exist config.sys goto C_EXISTS

echo CONFIG.SYS doesn't exist - quitting.

quit

:C_EXISTS

copy * a:\

 

GOTO commence sa recherche de l'étiquette sur la ligne du fichier batch qui suit immédiatement la commande GOTO. Si l'étiquette n'est pas trouvée entre cette position et la fin du fichier, GOTO recommence la recherche au début du fichier. Si l' étiquette n'est toujours pas trouvée, le fichier batch se termine avec le message d'erreur "Etiquette non trouvée".

 

Pour éviter les erreurs dans le traitement des instructions et des boucles imbriquées, GOTO annule toutes les  instructions IFF actives  et les  boucles DO / ENDDO, à moins que vous n'utilisiez /I.  Cela signifie qu'un GOTO normal (sans /I) ne peut pas passer à une étiquette située entre un IFF et l'ENDIFF correspondant ou entre un DO et l'ENDDO correspondant.

 

Pour des raisons de compatibilité avec CMD, la commande

 

GOTO :EOF

 

met fin au traitement du fichier batch en cours si l'étiquette :EOF n'existe pas. Toutefois, cette méthode est moins efficace que l'utilisation de la  commande QUIT ou CANCEL pour mettre fin à un fichier de lot.

 

Option :

 

/IEmpêche GOTO d'annuler les instructions IFF et les boucles DO. N'utilisez cette option que si vous êtes absolument certain que votre commande GOTO se ramifie entièrement à l'intérieur de toute instruction IFF en cours et de tout bloc DO / ENDDO actif . L' utilisation de l'option /I dans d'autres conditions entraînera une erreur plus loin dans votre fichier de traitement par lots.

 

Vous ne pouvez pas passer à une autre instruction IFF, à une autre boucle DO ou à un niveau d'imbrication IFF ou DO différent, que vous utilisiez l' option /I ou non . Si vous le faites, vous finirez par recevoir une erreur "commande inconnue" (ou l'exécution de l' alias ou du greffon UNKNOWN_CMD ) sur une instruction ENDDO, ELSE, ELSEIFF ou ENDIFF ultérieure.