Si une  commande externe (c'est-à-dire un programme) possède un code de sortie, sa valeur est stockée dans la variable ? lorsque le programme se termine . En outre, certaines  commandes internes, par exemple DIR - pour émuler CMD de Microsoft  - fixent également cette variable à la même valeur que la variable _ ?, une action qui détruit le code de la dernière commande externe .

 

Pour être sûr d'utiliser le code de sortie de la  commande externe que vous voulez vérifier, et non celui d'une commande interne ou externe ultérieure, il est préférable de sauvegarder la valeur de ? dans une autre variable dès la fin de la commande externe en question, et d'utiliser cette variable à la place . Il est également fortement recommandé d' interroger la  variable _ ? pour les  commandes internes.

 

Tous les programmes ne renvoient pas un code de sortie. Si un programme ne renvoie pas explicitement un code de sortie, la valeur de %? est indéfinie.

 

Autre nom : ERRORLEVEL.

 

Voir aussi : _ ?