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