TÓPICO
about_parsing
DESCRIÇÃO RESUMIDA
Descreve como o Windows PowerShell analisa comandos.
DESCRIÇÃO LONGA
Quando você insere um comando no prompt de comando, o Windows
PowerShell divide o texto do comando em uma série de segmentos
denominados tokens e, em seguida, determina como interpretar cada
um deles. Por exemplo, o Windows PowerShell divide o comando a
seguir em dois tokens, "Write-Host" e "book" e interpreta cada token
separadamente:
Write-Host book
Ao processar um comando, o analisador do Windows PowerShell opera
em modo de expressão ou em modo de argumento:
- No modo de expressão, os valores da cadeia de caracteres
devem ficar entre aspas. Os números que não ficam entre
aspas são considerados valores numéricos (em vez de uma série de
caracteres).
- No modo de argumento, cada valor é considerado como uma
cadeia de caracteres expansível a menos que comece com um dos
caracteres especiais a seguir: cifrão ($), arroba (@), aspas simples
('), aspas duplas (") ou um parêntese de abertura (().
Se for precedido de um desses caracteres, o valor será considerado uma
expressão de valor.
A tabela a seguir fornece vários exemplos de comandos processados
no modo de expressão e no modo de argumento e os resultados
produzidos por esses comandos.
Exemplo Modo Resultado
------------------ ---------- ----------------
2+2 Expressão 4 (integer)
Write-Output 2+2 Argumento "2+2" (string)
Write-Output (2+2) Expressão 4 (integer)
$a = 2+2 Expressão $a = 4 (integer)
Write-Output $a Expressão 4 (integer)
Write-Output $a/H Argumento "4/H" (string)
Cada token pode ser interpretado como algum tipo de objeto, como
Booleano ou cadeia de caracteres. O Windows PowerShell tenta
determinar o tipo de objeto a partir da expressão. O tipo de
objeto depende do tipo de parâmetro que um comando espera e se o
Windows PowerShell sabe como converter o argumento no tipo
correto. A tabela abaixo mostra vários exemplos dos tipos atribuídos a
valores retornados pelas expressões.
Exemplo Modo Resultado
------------------ ---------- ---------------
Write-Output !1 argumento "!1" (string)
Write-Output (!1) expressão False (Boolean)
Write-Output (2) expressão 2 (integer)
CONSULTE TAMBÉM
about_Command_Syntax