about_Special_Characters
Description courte
Décrit les séquences de caractères spéciales qui contrôlent la façon dont PowerShell interprète les caractères suivants dans 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 couramment 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 entre guillemets doubles ("
).
PowerShell reconnaît ces séquences d’échappement :
Séquence | Description |
---|---|
`0 |
Null |
`a |
Alerte |
`b |
Retour arrière |
`f |
Saut de page |
`n |
Nouvelle ligne |
`r |
Retour chariot |
`t |
Tabulation horizontale |
`v |
Tabulation verticale |
PowerShell a également un jeton spécial pour marquer l’endroit où vous souhaitez arrêter l’analyse. Tous les caractères qui suivent ce jeton sont utilisés comme valeurs littérales qui ne sont pas interprétées.
Jetons d’analyse spéciaux :
Séquence | Description |
---|---|
-- |
Traiter les valeurs restantes comme des arguments et non des paramètres |
--% |
Arrêter l’analyse de tout ce qui suit |
~ |
Tilde |
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 l’arrêt de chaîne ou les indicateurs de terminaison 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 de bip 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 de bip au haut-parleur de l’ordinateur local.
for ($i = 0; $i -le 1; $i++){"`a"}
Retour arrière ('b)
Le caractère arrière (`b
) déplace le curseur vers le dos d’un caractère, mais il ne supprime aucun caractère.
L’exemple écrit la sauvegarde word, puis déplace le curseur deux fois. Ensuite, à la nouvelle position, écrit un espace suivi du mot.
"backup`b`b out"
back out
Flux de formulaire ('f)
Le caractère de flux de formulaire (`f
) est une instruction d’impression qui éjecte la page active et continue d’imprimer sur la page suivante. Le caractère de flux de formulaire affecte uniquement les documents imprimés. Elle 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 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 actuelle 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 (pas)
Le caractère tabulation horizontale (`t
) avance jusqu’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
Onglet vertical ('v)
Le caractère tabulation verticale (`v
) avance jusqu’au taquet de tabulation vertical suivant et écrit la sortie restante à ce stade. Le rendu de l’onglet vertical dépend de l’appareil et du terminal.
Write-Host "There is a vertical tab`vbetween the words."
Les exemples suivants montrent la sortie rendue de l’onglet vertical dans certains environnements courants.
L’application hôte de console Windows interprète (`v
) comme un caractère spécial sans espacement supplémentaire ajouté.
There is a vertical tab♂between the words.
Le Terminal Windows restitue le caractère de tabulation verticale sous la forme d’un retour chariot et d’un flux de ligne. Le reste de la sortie est imprimé au début de la ligne suivante.
There is a vertical tab
between the words.
Sur les imprimantes ou dans des consoles unix, le caractère de tabulation vertical avance sur la ligne suivante et écrit la sortie restante à ce stade.
There is a vertical tab
between the words.
Continuation de ligne
Le caractère backtick peut également être utilisé à la fin d’une ligne comme signal à l’analyseur PowerShell que la commande continue sur la ligne suivante. Pour plus d’informations, consultez about_Parsing.
Jeton de fin de paramètres (--
)
Le jeton de fin de paramètres (--
) indique que tous les arguments suivants doivent être passés sous leur forme réelle, comme si les guillemets doubles étaient placés autour d’eux. Par exemple, --
vous pouvez générer la chaîne -InputObject
sans utiliser de guillemets ou l’avoir interprétée comme un paramètre :
Write-Output -- -InputObject
-InputObject
Il s’agit d’une convention spécifiée dans la spécification POSIX Shell et Utilities.
Jeton d’analyse d’arrêt (--%)
Le jeton d’analyse d’arrêt (--%
) empêche PowerShell d’interpréter des chaînes en tant que commandes et expressions PowerShell. Cela permet à ces chaînes d’être transmises à d’autres programmes à des fins d’interprétation.
Placez le jeton d’analyse d’arrêt après le nom du programme et avant les arguments du programme susceptibles d’entraîner des erreurs.
Dans cet exemple, la Icacls
commande utilise le jeton d’analyse d’arrêt.
icacls X:\VMS --% /grant Dom\HVAdmin:(CI)(OI)F
PowerShell envoie la chaîne suivante à Icacls
.
X:\VMS /grant Dom\HVAdmin:(CI)(OI)F
Dans ce deuxième exemple, nous transmettons la variable $HOME
à la cmd.exe /c echo
commande deux fois.
cmd.exe /c echo $HOME --% $HOME
La sortie indique que la première instance d’est $HOME
interprétée par PowerShell afin que la valeur de la variable soit passée à cmd
. La deuxième instance $HOME
de vient après le jeton d’analyse d’arrêt. Elle est donc passée en tant que chaîne littérale.
C:\Users\username $HOME
Pour plus d’informations sur le jeton d’analyse d’arrêt, consultez about_Parsing.
Tilde (~)
Le caractère tilde (~
) a une signification particulière dans PowerShell. Lorsqu’il est utilisé avec les commandes PowerShell au début d’un chemin d’accès, PowerShell développe le caractère tilde dans le répertoire de base de l’utilisateur. Si vous utilisez le caractère tilde n’importe où dans un chemin d’accès, il est traité comme un caractère littéral.
Pour plus d’informations sur le jeton d’analyse d’arrêt, consultez about_Parsing.