about_Special_Characters
Breve descrição
Descreve as sequências de caracteres especiais que controlam como o PowerShell interpreta os próximos caracteres na sequência.
Descrição longa
O PowerShell dá suporte a um conjunto de sequências de caracteres especiais que são usadas para representar caracteres que não fazem parte do conjunto de caracteres padrão. As sequências são comumente conhecidas como sequências de escape.
As sequências de fuga começam com o caractere backtick, conhecido como acento grave (ASCII 96), e diferenciam maiúsculas de minúsculas. O caractere backtick também pode ser referido como o caractere de fuga.
As sequências de escape só são interpretadas quando contidas em cadeias de caracteres com aspas duplas ("
).
O PowerShell reconhece estas sequências de escape:
Sequence | Description |
---|---|
`0 |
Nulo |
`a |
Alerta |
`b |
Espaço traseiro |
`f |
Feed de formulários |
`n |
Nova linha |
`r |
Retorno de carro |
`t |
Separador horizontal |
`v |
Separador vertical |
O PowerShell também tem um token especial para marcar onde você deseja que a análise pare. Todos os caracteres que seguem esse token são usados como valores literais que não são interpretados.
Tokens de análise especiais:
Sequence | Description |
---|---|
-- |
Tratar os valores restantes como argumentos e não parâmetros |
--% |
Pare de analisar qualquer coisa que se siga |
~ |
Til |
Nulo ('0)
O caractere nulo (`0
) aparece como um espaço vazio na saída do PowerShell.
Essa funcionalidade permite que você use o PowerShell para ler e processar arquivos de texto que usam caracteres nulos, como terminação de cadeia de caracteres ou indicadores de terminação de registro. O caractere especial nulo não é equivalente à variável, que armazena $null
um valor nulo .
Alerta ('a)
O caractere de alerta (`a
) envia um sinal sonoro para o alto-falante do computador.
Você pode usar esse caractere para avisar um usuário sobre uma ação iminente. O exemplo a seguir envia dois sinais de bipe para o alto-falante do computador local.
for ($i = 0; $i -le 1; $i++){"`a"}
Espaço traseiro ('b)
O caractere backspace (`b
) move o cursor para trás um caractere, mas não exclui nenhum caractere.
O exemplo escreve a palavra backup e, em seguida, move o cursor para trás duas vezes. Em seguida, na nova posição, escreve um espaço seguido da palavra para fora.
"backup`b`b out"
back out
Alimentação de formulários ('f)
O caractere de alimentação de formulário (`f
) é uma instrução de impressão que ejeta a página atual e continua a impressão na página seguinte. O caractere de alimentação de formulário afeta apenas documentos impressos. Isso não afeta a saída da tela.
Nova linha ('n)
O novo caractere de linha (`n
) insere uma quebra de linha imediatamente após o caractere.
Este exemplo mostra como usar o novo caractere de linha para criar quebras de linha em um Write-Host
comando.
"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.
Retorno de carro ('r)
O caractere de retorno de carro (`r
) move o cursor de saída para o início da linha atual e continua escrevendo. Todos os caracteres na linha atual são substituídos.
Neste exemplo, o texto antes do retorno de carro é substituído.
Write-Host "These characters are overwritten.`rI want this text instead "
Observe que o texto antes `r
do caractere não é excluído, ele é substituído.
I want this text instead written.
Separador horizontal ('t)
O caractere de tabulação horizontal (`t
) avança para a próxima parada de tabulação e continua escrevendo nesse ponto. Por padrão, o console do PowerShell tem uma parada de tabulação a cada oitavo espaço.
Este exemplo insere duas guias entre cada coluna.
"Column1`t`tColumn2`t`tColumn3"
Column1 Column2 Column3
Separador vertical ('v)
O caractere de tabulação vertical (`v
) avança para a próxima parada de tabulação vertical e grava a saída restante nesse ponto. A renderização da guia vertical depende do dispositivo e do terminal.
Write-Host "There is a vertical tab`vbetween the words."
Os exemplos a seguir mostram a saída renderizada da guia vertical em alguns ambientes comuns.
O aplicativo host do Console do Windows interpreta (`v
) como um caractere especial sem espaçamento extra adicionado.
There is a vertical tab♂between the words.
O Terminal do Windows processa o caractere de tabulação vertical como um retorno de carro e alimentação de linha. O restante da saída é impresso no início da próxima linha.
There is a vertical tab
between the words.
Em impressoras ou em consoles baseados em unix, o caractere de tabulação vertical avança para a próxima linha e grava a saída restante nesse ponto.
There is a vertical tab
between the words.
Continuação da linha
O caractere backtick também pode ser usado no final de uma linha como um sinal para o analisador do PowerShell de que o comando continua na próxima linha. Para obter mais informações, consulte about_Parsing.
O token de fim de parâmetros (--
)
O token de fim de parâmetros (--
) indica que todos os argumentos que o seguem devem ser passados em sua forma real, como se aspas duplas fossem colocadas em torno deles. Por exemplo, usando --
você pode gerar a saída da cadeia de caracteres -InputObject
sem usar aspas ou interpretá-la como um parâmetro:
Write-Output -- -InputObject
-InputObject
Esta é uma convenção especificada na especificação POSIX Shell and Utilities.
Token de análise de parada (--%)
O token stop-parsing (--%
) impede que o PowerShell interprete cadeias de caracteres como comandos e expressões do PowerShell. Isso permite que essas cadeias de caracteres sejam passadas para outros programas para interpretação.
Coloque o token de análise de parada após o nome do programa e antes dos argumentos do programa que podem causar erros.
Neste exemplo, o Icacls
comando usa o token stop-parsing.
icacls X:\VMS --% /grant Dom\HVAdmin:(CI)(OI)F
O PowerShell envia a seguinte cadeia de caracteres para Icacls
.
X:\VMS /grant Dom\HVAdmin:(CI)(OI)F
Neste segundo exemplo, passamos a variável $HOME
para o cmd.exe /c echo
comando duas vezes.
cmd.exe /c echo $HOME --% $HOME
A saída mostra que a primeira instância do é interpretada $HOME
pelo PowerShell para que o valor da variável seja passado para cmd
. A segunda instância de vem depois do token de análise de parada, portanto, ele é passado como uma cadeia de $HOME
caracteres literal.
C:\Users\username $HOME
Para obter mais informações sobre o token de análise de parada, consulte about_Parsing.
Til (~)
O caractere til (~
) tem um significado especial no PowerShell. Quando é usado com comandos do PowerShell no início de um caminho, o PowerShell expande o caractere til para o diretório base do usuário. Se você usar o caractere til em qualquer outro lugar em um caminho, ele será tratado como um caractere literal.
Para obter mais informações sobre o token de análise de parada, consulte about_Parsing.