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.
As seguintes palavras-chave são usadas por 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 dynamicparam
palavras-chave , process
e 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> ...]
}
clean
A clean
palavra-chave foi adicionada no PowerShell 7.3. A palavra-chave define um bloco de código que é garantido para ser executado após os blocos e process
end
de begin
uma função. Ao contrário do end
bloco, o clean
bloco é sempre executado, mesmo quando há um erro de terminação 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 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 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 begin
palavras-chave , process
e end
. Os parâmetros dinâmicos são adicionados no 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 dynamicparam
palavras-chave , begin
e 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 enquanto o script está em execução. 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 -1
através -255
é automaticamente convertido em um número positivo adicionando 256. Por exemplo, -2
é transformado em 254
.
No PowerShell, a exit
instrução define o valor da $LASTEXITCODE
variável. No Shell de Comando do Windows (cmd.exe
), a instrução exit define o valor da variável de %ERRORLEVEL%
ambiente.
Qualquer argumento não numérico ou fora do intervalo específico da plataforma é convertido no 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.ps1
de 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 de uma exceção sem tratamento.
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 sair de um script ou se 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 dynamicparam
listas de instruções , begin
, process
e 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 Get-Member
cmdlet, IntelliSense e resultados de preenchimento 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 dynamicparam
palavras-chave , begin
e 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 lista de process
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 deixe o 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 está definido.
Veja class
exemplos de uso.
switch
Para verificar várias condições, use uma switch
instrução. A switch
declaração é equivalente a uma série de if
declaraçõ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 enquanto as instruções são executadas. Se ocorrer um erro, o PowerShell continuará em execução em uma catch
instrução or 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 tipo, classes e membros exigem menos digitação para referenciá-los. 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 em 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 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 do loop:
do {<statement list>} while (<condition>)