about_Language_Keywords

Descrição breve

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
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 dynamicparampalavras-chave , processe end . A begin lista de instruções é executada uma vez antes que qualquer objeto seja 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 que a acompanha try . 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> ...]
}

continue

Faz com que um script pare de executar um loop e volte à 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 dados da lógica do script. Também pode incluir if instruções e alguns comandos limitados.

Sintaxe:

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

do

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

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 beginpalavras-chave , processe end . Os parâmetros dinâmicos são adicionados em tempo de execução.

Sintaxe:

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

else

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

Sintaxe:

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

elseif

Usado com as if palavras-chave e else para especificar condicionais adicionais. A else palavra-chave é 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 dynamicparampalavras-chave , begine end . A end lista de instruções é executada uma vez depois que todos os objetos foram 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 com que o PowerShell saia de um script ou de uma instância do PowerShell.

Sintaxe:

exit
exit <exitcode>

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

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

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

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

Qualquer argumento que não seja numérico ou esteja fora do intervalo específico da plataforma é convertido 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 test.ps1de script .

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 exit comando, o código de saída é definido como o argumento numérico usado com o exit comando. Se o script não tiver nenhuma exit instrução, o código de saída será sempre 0 quando o script for concluído sem erro ou 1 quando o script for encerrado a partir de 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. Tem o mesmo efeito que uma função que contém apenas um process bloco.

Sintaxe:

filter <name> {<statement list>}

finally

Define uma lista de instruções que é executada após instruções associadas a try e catch. Uma finally lista de instruções é executada mesmo se você pressionar CTRL+C para deixar um script ou se você usar a exit palavra-chave 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 param palavra-chave. Na lista de instruções de função, você pode incluir dynamicparamlistas de instruções , 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 uma condicional.

Sintaxe:

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

hidden

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

Sintaxe:

hidden [data type] $member_name

in

Usado em uma foreach instrução 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 dynamicparampalavras-chave , begine end . Quando uma process lista de instruções recebe entrada do pipeline, a process lista de instruções é executada uma vez para cada elemento do pipeline. Se o pipeline não fornecer objetos, a process lista de instruções não será executada. Se o comando for o primeiro comando no pipeline, a lista de instruções será executada process uma vez.

Sintaxe:

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

return

Faz com que o PowerShell saia do escopo atual, como um script ou 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 na qual ele é definido.

Consulte class para obter exemplos de uso.

switch

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

A switch instrução 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 a ser verificada quanto a erros durante a execução das instruções. Se ocorrer um erro, o PowerShell continuará sendo executado em uma catch instrução 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 do instrução como uma construção de loop em que a lista de instruções é executada pelo menos uma vez.

Sintaxe:

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

using

Permite indicar quais namespaces são usados na sessão. Nomes de tipos, classes e membros exigem menos digitação para fazer referência a eles. Você também pode incluir classes de módulos.

Sintaxe do 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 while instrução é uma construção de loop onde a condição é testada antes que as instruções sejam executadas. Se a condição for false, as instruções não serão executadas.

Sintaxe da instrução:

while (<condition>) {
   <statements>
 }

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

do Sintaxe de loop:

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

Confira também