Partager via


À propos des caractères spéciaux

Description courte

Décrit les séquences de caractères spéciaux qui contrôlent la façon dont PowerShell interprète les caractères suivants de la séquence.

Description longue

PowerShell prend en charge un ensemble de séquences de caractères spéciales utilisées pour représenter des caractères qui ne font pas partie du jeu de caractères standard. Les séquences sont communément appelées séquences d’échappement.

Les séquences d’échappement commencent par le caractère backtick, appelé accent grave (ASCII 96), et respectent la casse. Le caractère backtick peut également être appelé caractère d’échappement.

Les séquences d’échappement sont interprétées uniquement lorsqu’elles sont contenues dans des chaînes à guillemets doubles (").

PowerShell reconnaît ces séquences d’échappement :

Séquence Description
`0 Null
`a Alerte
`b Retour arrière
`e Caractère d'échappement
`f Saut de page
`n Nouvelle ligne
`r Retour chariot
`t Tabulation horizontale
`u{x} Séquence d’échappement Unicode
`v Tabulation verticale

PowerShell a également un jeton spécial pour marquer l’endroit où vous souhaitez que l’analyse s’arrête. Tous les caractères qui suivent ce jeton sont utilisés comme valeurs littérales qui ne sont pas interprétées.

Jeton d’analyse spécial :

Séquence Description
--% Arrêter l’analyse de tout ce qui suit

Null ('0)

Le caractère Null (`0) apparaît sous la forme d’un espace vide dans la sortie PowerShell. Cette fonctionnalité vous permet d’utiliser PowerShell pour lire et traiter des fichiers texte qui utilisent des caractères null, tels que des indicateurs d’arrêt de chaîne ou d’arrêt d’enregistrement. Le caractère spécial Null n’est pas équivalent à la $null variable, qui stocke une valeur Null .

Alerte ('a)

Le caractère d’alerte (`a) envoie un signal sonore au haut-parleur de l’ordinateur. Vous pouvez utiliser ce caractère pour avertir un utilisateur d’une action imminente. L’exemple suivant envoie deux signaux sonores au haut-parleur de l’ordinateur local.

for ($i = 0; $i -le 1; $i++){"`a"}

Retour arrière ('b)

Le caractère retour arrière (`b) déplace le curseur d’un caractère en arrière, mais ne supprime aucun caractère.

L’exemple écrit le mot sauvegarde , puis déplace le curseur à deux reprises. Ensuite, à la nouvelle position, écrit un espace suivi du mot out.

"backup`b`b out"
back out

Échappement ('e)

Le caractère d’échappement (`e) est le plus souvent utilisé pour spécifier une séquence de terminal virtuelle (séquence d’échappement ANSI) qui modifie la couleur du texte et d’autres attributs de texte tels que la mise en gras et la mise en évidence. Ces séquences peuvent également être utilisées pour le positionnement et le défilement du curseur. L’hôte PowerShell doit prendre en charge les séquences de terminaux virtuels. Vous pouvez case activée la valeur booléenne de $Host.UI.SupportsVirtualTerminal pour déterminer si ces séquences ANSI sont prises en charge.

Pour plus d’informations sur les séquences d’échappement ANSI, consultez ANSI_escape_code.

L’exemple suivant génère du texte avec une couleur de premier plan verte.

$fgColor = 32 # green
"`e[${fgColor}mGreen text`e[0m"
Green text

Flux de formulaire ('f)

Le caractère de flux de formulaire (`f) est une instruction d’impression qui éjecte la page active et continue l’impression sur la page suivante. Le caractère de flux de formulaire affecte uniquement les documents imprimés. Cela n’affecte pas la sortie de l’écran.

Nouvelle ligne ('n)

Le nouveau caractère de ligne (`n) insère un saut de ligne immédiatement après le caractère.

Cet exemple montre comment utiliser le nouveau caractère de ligne pour créer des sauts de ligne dans une Write-Host commande.

"There are two line breaks to create a blank line`n`nbetween the words."
There are two line breaks to create a blank line

between the words.

Retour chariot ('r)

Le caractère de retour chariot (`r) déplace le curseur de sortie au début de la ligne actuelle et continue d’écrire. Tous les caractères de la ligne active sont remplacés.

Dans cet exemple, le texte avant le retour chariot est remplacé.

Write-Host "These characters are overwritten.`rI want this text instead "

Notez que le texte avant le `r caractère n’est pas supprimé, il est remplacé.

I want this text instead written.

Onglet horizontal ('t)

Le caractère de tabulation horizontale (`t) passe au taquet de tabulation suivant et continue à écrire à ce stade. Par défaut, la console PowerShell a un taquet de tabulation à chaque huitième espace.

Cet exemple montre comment insérer deux onglets entre chaque colonne.

"Column1`t`tColumn2`t`tColumn3"
Column1         Column2         Column3

Caractère Unicode ('u{x})

La séquence d’échappement Unicode (`u{x}) vous permet de spécifier n’importe quel caractère Unicode par la représentation hexadécimale de son point de code. Cela inclut les caractères Unicode au-dessus du plan multilingue de base (>0xFFFF), qui inclut des caractères emoji tels que le caractère pouce vers le haut (`u{1F44D}). La séquence d’échappement Unicode nécessite au moins un chiffre hexadécimal et prend en charge jusqu’à six chiffres hexadécimaux. La valeur hexadécimale maximale pour la séquence est 10FFFF.

Cet exemple montre comment afficher le symbole flèche vers le haut vers le bas (↕).

"`u{2195}"

Onglet vertical ('v)

Le caractère de tabulation horizontale (`v) passe au taquet de tabulation vertical suivant et écrit la sortie restante à ce stade. Cela n’a aucun effet dans la console Windows par défaut.

Write-Host "There is a vertical tab`vbetween the words."

L’exemple suivant montre la sortie que vous obtenez sur une imprimante ou dans un autre hôte de console.

There is a vertical tab
                       between the words.

Jeton d’arrêt d’analyse (--%)

Le jeton d’arrêt d’analyse (--%) empêche PowerShell d’interpréter les chaînes en tant que commandes et expressions PowerShell. Cela permet de transmettre ces chaînes à d’autres programmes à des fins d’interprétation.

Placez le jeton d’arrêt d’analyse après le nom du programme et avant les arguments du programme susceptibles de provoquer des erreurs.

Dans cet exemple, la Icacls commande utilise le jeton d’arrêt d’analyse.

icacls X:\VMS --% /grant Dom\HVAdmin:(CI)(OI)F

PowerShell envoie la chaîne suivante à Icacls.

X:\VMS /grant Dom\HVAdmin:(CI)(OI)F

Voici un autre exemple. La fonction showArgs génère les valeurs qui lui sont passées. Dans cet exemple, nous passons la variable nommée $HOME à la fonction deux fois.

function showArgs {
  "`$args = " + ($args -join '|')
}

showArgs $HOME --% $HOME

Vous pouvez voir dans la sortie que, pour le premier paramètre, la variable $HOME est interprétée par PowerShell afin que la valeur de la variable soit passée à la fonction . La deuxième utilisation de $HOME vient après le jeton d’arrêt d’analyse, de sorte que la chaîne « $HOME » est passée à la fonction sans interprétation.

$args = C:\Users\username|--%|$HOME

Pour plus d’informations sur le jeton d’arrêt d’analyse, consultez about_Parsing.

Voir aussi

about_Quoting_Rules