batch-file Échapper à l'aide du caret (^)


Exemple

La plupart des caractères spéciaux peuvent être échappés en utilisant le curseur ( ^ ). Regardez l'exemple suivant.

echo > Hi
echo ^> Hi 

Cette première commande ne produirait pas > Hi car > est un caractère spécial, ce qui signifie rediriger la sortie vers un fichier. Dans ce cas, le fichier est nommé "Hi"

Cependant, dans la deuxième commande, > Hi sera généré sans aucun problème car le signe d'insertion ( ^ ) indique au > cesser de fonctionner comme commande "rediriger la sortie vers le fichier", maintenant > est juste un caractère normal.


Voici une liste de caractères spéciaux pouvant être échappés (pris et édités à partir de la page de Rob van der Woude)

Personnage Résultat échappé Remarques
^ ^^
Et ^ &
< ^ <
> ^>
| ^ |
\ ^ \
! ^^! Seulement requis lorsque DelayedExpansion est activé

S'échapper du caret

Les carets peuvent être empilés jusqu’à l’échappement des autres carets, prenez l’exemple suivant.

Contribution Sortie
^ & Et
^ ^ ^ & ^ &
^ ^ ^ ^ ^ & ^^ &

Note: Les carets en gras sont échappés.


Problème de sécurité

Un peu hors sujet ici, mais c'est très important! Un échappatoire indésirable à la fin du fichier pourrait provoquer une fuite de mémoire!

any-invalid-command-you-like-here ^

Cette commande fuirait toute la mémoire, rendant le système complètement inutilisable ! Voir ici pour plus d'informations.