Compartilhar via


about_Language_Keywords

Descrição curta

Descreve as palavras-chave na linguagem de script do PowerShell.

Descrição longa

O PowerShell tem as seguintes palavras-chave de idioma. Para obter mais informações, consulte o tópico sobre a palavra-chave e as informações que seguem a tabela.

Palavra-chave Referência
begin about_Functions, about_Functions_Advanced
break about_Break, about_Trap
catch about_Try_Catch_Finally
class about_Classes
clean about_Functions, about_Functions_Advanced_Methods
continue about_Continue, about_Trap
data about_Data_Sections
define Reservado para uso futuro
do about_Do, about_While
dynamicparam about_Functions_Advanced_Parameters
else about_If
elseif about_If
end about_Functions, about_Functions_Advanced_Methods
enum about_Enum
exit Descrito neste tópico
filter about_Functions
finally about_Try_Catch_Finally
for about_For
foreach about_Foreach
from Reservado para uso futuro
function about_Functions, about_Functions_Advanced
hidden about_Hidden
if about_If
in about_Foreach
param about_Functions
process about_Functions, about_Functions_Advanced
return about_Return
static about_Classes
switch about_Switch
throw about_Throw, about_Functions_Advanced_Methods
trap about_Trap, about_Break, about_Try_Catch_Finally
try about_Try_Catch_Finally
until about_Do
using about_Using, about_Classes
var Reservado para uso futuro
while about_While, about_Do

As seguintes palavras-chave são usadas pelos fluxos de trabalho do PowerShell:

  • inlinescript
  • parallel
  • sequence
  • workflow

Os fluxos de trabalho do PowerShell só têm suporte no PowerShell 5.1. Para obter mais informações sobre fluxos de trabalho, consulte Executando comandos do PowerShell em um fluxo de trabalho.

begin

Especifica uma parte do corpo de uma função, juntamente com as palavras-chave dynamicparam, processe end. A lista de instruções begin é executada uma vez antes de qualquer objeto ser recebido do pipeline.

Sintaxe:

function <name> {
    dynamicparam {<statement list>}
    begin {<statement list>}
    process {<statement list>}
    end {<statement list>}
}

break

Faz com que um script saia de um loop.

Sintaxe:

while (<condition>) {
   <statements>
   ...

   break
   ...

   <statements>
}

catch

Especifica uma lista de instruções a ser executada se ocorrer um erro na lista de instruções de try que acompanha. Um tipo de erro requer colchetes. O segundo par de colchetes indica que o tipo de erro é opcional.

Sintaxe:

try {<statement list>}
catch [[<error type>]] {<statement list>}

class

Especifica uma nova classe no PowerShell.

Sintaxe:

class <class-name> {
    [[hidden] [static] <property-definition> ...]
    [<class-name>([argument-list>]) {<constructor-statement-list>} ...]
    [[hidden] [static] <method-definition> ...]
}

clean

A palavra-chave clean foi adicionada ao PowerShell 7.3. A palavra-chave define um bloco de código que é garantido para ser executado após os blocos begin, process e end de uma função. Ao contrário do bloco end, o bloco clean sempre é executado, mesmo quando há um erro de encerramento em um dos outros blocos.

continue

Faz com que um script pare de executar um loop e volte para a condição. Se a condição for atendida, o script iniciará o loop novamente.

Sintaxe:

while (<condition>) {
   <statements>
   ...

   continue
   ...

   <statements>
}

data

Em um script, define uma seção que isola os dados da lógica de script. Também pode incluir instruções if e alguns comandos limitados.

Sintaxe:

data <variable> [-SupportedCommand <cmdlet-name>] {<permitted content>}

do

Usado com a palavra-chave while ou until como estrutura de repetição. O PowerShell executa a lista de instruções pelo menos uma vez, ao contrário de um loop que usa while.

Sintaxe para while:

do {<statement list>} while (<condition>)

Sintaxe para until:

do {<statement list>} until (<condition>)

dynamicparam

Especifica uma parte do corpo de uma função, juntamente com as palavras-chave begin, processe end. Parâmetros dinâmicos são adicionados em runtime.

Sintaxe:

function <name> {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

else

Usado com a palavra-chave if para especificar a lista de instruções padrão.

Sintaxe:

if (<condition>) {<statement list>}
else {<statement list>}

elseif

Usado com as palavras-chave if e else para especificar condicionais adicionais. A palavra-chave else é opcional.

Sintaxe:

if (<condition>) {<statement list>}
elseif (<condition>) {<statement list>}
else {<statement list>}

end

Especifica uma parte do corpo de uma função, juntamente com as palavras-chave dynamicparam, begine end. A lista de instruções end é executada uma vez após todos os objetos serem recebidos do pipeline.

Sintaxe:

function <name> {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

enum

enum é usado para declarar uma enumeração; um tipo distinto que consiste em um conjunto de rótulos nomeados chamado lista de enumeradores.

Sintaxe:

enum <enum-name> {
    <label> [= <int-value>]
    ...
}

exit

Faz o PowerShell sair de um script ou instância do PowerShell.

Sintaxe:

exit
exit <exitcode>

Quando você usa pwsh com o parâmetro File, o próprio arquivo .ps1 (script) deve incluir instruções para lidar com erros ou exceções que ocorram enquanto o script está em execução. Você só deve usar a instrução exit para indicar o status pós-execução do script.

No Windows, qualquer número entre [int]::MinValue e [int]::MaxValue é permitido.

No Unix, somente números positivos entre [byte]::MinValue e [byte]::MaxValue são permitidos. Um número negativo no intervalo de -1 até -255 é convertido automaticamente em um número positivo adicionando 256. Por exemplo, -2 é transformado em 254.

No PowerShell, a instrução exit define o valor da variável $LASTEXITCODE. No Shell de Comando do Windows (cmd.exe), a instrução exit define o valor da variável de ambiente %ERRORLEVEL%.

Qualquer argumento não numérico ou fora do intervalo específico da plataforma é traduzido para o valor de 0.

No exemplo a seguir, o usuário define o valor da variável de nível de erro como 4 adicionando exit 4 ao arquivo de script test.ps1.

C:\scripts\test>type test.ps1
1
2
3
exit 4

C:\scripts\test>pwsh -File ./test.ps1
1
2
3

C:\scripts\test>echo %ERRORLEVEL%
4

Quando você executa pwsh.exe -File <path to a script> e o arquivo de script termina com um comando exit, o código de saída é definido como o argumento numérico usado com o comando exit. Se o script não tiver uma instrução exit, o código de saída sempre será 0 quando ele for concluído sem erro ou 1 quando terminar devido a uma exceção não tratada.

filter

Especifica uma função na qual a lista de instruções é executada uma vez para cada objeto de entrada. Ele tem o mesmo efeito que uma função que contém apenas um bloco process.

Sintaxe:

filter <name> {<statement list>}

finally

Define uma lista de instruções que é executada após instruções associadas a try e catch. Uma lista de instruções finally é executada mesmo se você pressionar CTRL+C para deixar um script ou se você usar a palavra-chave exit no script.

Sintaxe:

try {<statement list>}
catch [<error type>] {<statement list>}
finally {<statement list>}

for

Define um loop com uma condição.

Sintaxe:

for (<initialize>; <condition>; <iterate>) { <statement list> }

foreach

Define um loop usando cada membro de uma coleção.

Sintaxe:

foreach (<item> in <collection>) { <statement list> }

from

Reservado para uso futuro.

function

Cria uma lista de instruções nomeadas de código reutilizável. Você pode nomear o escopo ao qual uma função pertence. Você também pode especificar um ou mais parâmetros nomeados usando a palavra-chave param. Na lista de instruções de função, você pode incluir listas de instruções dynamicparam, begin, processe end.

Sintaxe:

function [<scope:>]<name> {
   param ([type]<$PName1> [, [type]<$PName2>])
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

Você também tem a opção de definir um ou mais parâmetros fora da lista de instruções após o nome da função.

Sintaxe:

function [<scope:>]<name> [([type]<$PName1>, [[type]<$PName2>])] {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

if

Define um condicional.

Sintaxe:

if (<condition>) {<statement list>}

hidden

Oculta os membros da classe dos resultados padrão do cmdlet Get-Member, do IntelliSense e dos resultados de conclusão da guia.

Sintaxe:

hidden [data type] $member_name

in

Usado em uma instrução foreach para criar um loop que usa cada membro de uma coleção.

Sintaxe:

foreach (<item> in <collection>){<statement list>}

param

Define os parâmetros em uma função.

Sintaxe:

function [<scope:>]<name> {
   param ([type]<$PName1>[, [[type]<$PName2>]])
   <statement list>
}

process

Especifica uma parte do corpo de uma função, juntamente com as palavras-chave dynamicparam, begine end. Quando uma lista de instruções process recebe a entrada do pipeline, a lista de instruções process é executada uma vez para cada elemento do pipeline. Se o pipeline não fornecer objetos, a lista de instruções process não será executada. Se o comando for o primeiro comando no pipeline, a lista de instruções process será executada uma vez.

Sintaxe:

function <name> {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

return

Faz com que o PowerShell deixe o escopo atual, como um script ou uma função, e grava a expressão opcional na saída.

Sintaxe:

return [<expression>]

static

Especifica que a propriedade ou o método definido é comum a todas as instâncias da classe em que ela é definida.

Consulte class para obter exemplos de uso.

switch

Para verificar várias condições, use uma instrução switch. A instrução switch é equivalente a uma série de instruções if, mas é mais simples.

A instrução switch lista cada condição e uma ação opcional. Se uma condição for obtida, a ação será executada.

Sintaxe 1:

switch [-Regex|-Wildcard|-Exact][-CaseSensitive] ( <value> )
{
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   ...

   default {<statement list>}
}

Sintaxe 2:

switch [-Regex|-Wildcard|-Exact][-CaseSensitive] -File <filename>
{
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   ...

   default {<statement list>}
}

throw

Lança um objeto como um erro.

Sintaxe:

throw [<object>]

trap

Define uma lista de instruções a ser executada se um erro for encontrado. Um tipo de erro requer colchetes. O segundo par de colchetes indica que o tipo de erro é opcional.

Sintaxe:

trap [[<error type>]] {<statement list>}

try

Define uma lista de instruções para ser verificada por erros enquanto as instruções são executadas. Se ocorrer um erro, o PowerShell continuará em execução em uma instrução catch ou finally. Um tipo de erro requer colchetes. O segundo par de colchetes indica que o tipo de erro é opcional.

Sintaxe:

try {<statement list>}
catch [[<error type>]] {<statement list>}
finally {<statement list>}

until

Usado em uma instrução do como um constructo de loop em que a lista de instruções é executada pelo menos uma vez.

Sintaxe:

do {<statement list>} until (<condition>)

using

Permite que você indique quais namespaces são usados na sessão. Nomes de tipos, classes e membros exigem menos digitação para referenciá-los. Você também pode incluir classes de dentro dos módulos.

Sintaxe de namespace:

using namespace <.NET-namespace>

Sintaxe do módulo:

using module <module-name>

Sintaxe do assembly:

using assembly <.NET-assembly-path>

Para obter mais informações, consulte about_Using.

while

A instrução while é um constructo de loop em que a condição é testada antes que as instruções sejam executadas. Se a condição for falsa, as instruções não serão executadas.

Sintaxe de declaração:

while (<condition>) {
   <statements>
 }

Quando usado em uma instrução do, while faz parte de uma estrutura de repetição em que a lista de instruções é executada pelo menos uma vez.

Sintaxe de loop do:

do {<statement list>} while (<condition>)

Consulte também