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