RUBRIQUE
about_parsing
DESCRIPTION COURTE
Décrit comment Windows PowerShell analyse les commandes.
DESCRIPTION LONGUE
Lorsque vous entrez une commande à l'invite de commandes, Windows
PowerShell décompose le texte de la commande en une série de segments
appelés " jetons ", puis détermine comment interpréter chacun d'eux.
Par exemple, Windows PowerShell décompose la commande suivante en
deux jetons, " Write-Host " et " book ", puis interprète chaque
jeton séparément :
Write-Host book
Lors du traitement d'une commande, l'analyseur Windows PowerShell
fonctionne en mode Expression ou en mode Argument :
- En mode Expression, les valeurs des chaînes de caractères
doivent figurer entre guillemets. Les nombres qui ne
figurent pas entre guillemets sont traités comme des valeurs
numériques (et non comme une série de caractères).
- En mode Argument, chaque valeur est traitée comme une chaîne
extensible à moins qu'elle ne commence par l'un des caractères
spéciaux suivants : dollar ($), arobase (@), guillemet simple ('),
guillemet double (") ou parenthèse ouvrante (().
Toute valeur précédée de l'un de ces caractères est traitée comme une
expression de valeur.
Le tableau suivant fournit plusieurs exemples de commandes
traitées en mode Expression et en mode Argument, ainsi que leur
résultat :
Exemple Mode Résultat
------------------ ---------- ----------------
2+2 Expression 4 (nombre entier)
Write-Output 2+2 Argument "2+2" (chaîne)
Write-Output (2+2) Expression 4 (nombre entier)
$a = 2+2 Expression $a = 4 (nombre entier)
Write-Output $a Expression 4 (nombre entier)
Write-Output $a/H Argument "4/H" (chaîne)
Chaque jeton peut être interprété comme un type d'objet,
par exemple booléen ou chaîne. Windows PowerShell essaie de
déterminer le type d'objet d'après l'expression. Le type d'objet
dépend du type de paramètre qu'une commande attend et de la
capacité de Windows PowerShell à convertir l'argument vers le
type approprié. Le tableau suivant propose plusieurs exemples
des types affectés aux valeurs retournées par les expressions.
Exemple Mode Résultat
------------------ ---------- ---------------
Write-Output !1 argument "!1" (chaîne)
Write-Output (!1) expression False (booléen)
Write-Output (2) expression 2 (nombre entier)
VOIR AUSSI
about_Command_Syntax