Como Encerrar um Script no Windows PowerShell

  1. Use o comando Exit para encerrar um script no Windows PowerShell
  2. Use o comando Throw para encerrar um script no Windows PowerShell
  3. o comando Return
  4. o comando break
  5. o comando continue
Como Encerrar um Script no Windows PowerShell

Existem muitas maneiras de encerrar um script no Windows PowerShell. No entanto, algumas delas podem soar semelhantes em termos de contexto, mas seu propósito real é diferente entre si quando se trata de funcionalidade.

Este artigo enumerará maneiras de encerrar um script no Windows PowerShell e definirá cada uma delas.

Use o comando Exit para encerrar um script no Windows PowerShell

O comando Exit encerrará seu script como derivado de seu nome. Se você não tiver uma sessão aberta, este comando também fechará seu shell ou janela de script. O comando Exit também é útil para fornecer feedback usando códigos de saída.

exit

Executar apenas o comando exit pode ter um código de saída de 0 (padrão), que significa sucesso ou término normal, ou 1, que significa falha ou uma exceção não capturada.

O que é excelente sobre códigos de saída é que os códigos de saída são totalmente personalizáveis. Desde que o código de saída seja um inteiro, o código de saída é válido. Além disso, para saber o último código de saída, você pode exibir a variável $LASTEXITCODE.

Exit.ps1

Write-Output 'Running sample script.'
exit 200

Código de Exemplo:

PS C:\>powershell.exe .\Exit.ps1
PS C:\>Running sample script.
PS C:\>Write-Output $LASTEXITCODE
PS C:\>200

Além disso, lembre-se de que, ao chamar outro arquivo PowerShell com um comando exit de um script PowerShell em execução, o script em execução também será encerrado.

Use o comando Throw para encerrar um script no Windows PowerShell

O comando Throw é semelhante ao comando Exit com um código de saída, mas é muito mais informativo. Você pode usar o comando e uma expressão personalizada para gerar erros finais. Geralmente, o comando Throw é usado dentro do bloco Catch dentro de uma expressão Try-Catch para descrever uma exceção adequadamente.

Código de Exemplo:

Try {
    $divideAnswer = 1 / 0
}
Catch {
    Throw "The mathematical expression has a syntax error"
}

Saída:

The mathematical expression has a syntax error
At line:4 char:5
+     Throw "The mathematical expression has a syntax error"
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (The mathematica... a syntax error:String) [], RuntimeException
    + FullyQualifiedErrorId : The mathematical expression has a syntax error

o comando Return

Diferente do comando Exit, o comando Return retornará ao seu ponto de chamada anterior e não fechará sua janela de script.

Geralmente, usamos o comando Return para retornar valores de uma função executada em algum lugar do script.

Código de Exemplo:

Function sumValues($int1, $int2) {
    Return ($int1 + $int2)
}

# The function sumValues is called below, and the script will return to 
# the same line with a value and store it in the output variable
$output = sumValues 1 2 

Write-Output $output

Saída:

3

o comando break

Usamos o comando break para terminar loops e casos.

Código de Exemplo:

$numList = 1, 2, 3, 4, 5, 6, 7, 8

foreach ($number in $numList) {
    if ($number -eq 8) {
        #Terminate loop if number variable is equal to 8
        break
    }

    Write-Output $number
}

Saída:

1
2
3
4
5
6
7

Se tivermos loops aninhados, só quebramos do loop de onde o comando break é chamado.

Código de Exemplo:

While ($true) {
    While ($true) {
        #The break command will only break out of this while loop
        break
    }
    #The script will continue to run on this line after breaking out of the inner while loop
}

Se você quiser sair de um loop aninhado específico, o comando break usa etiquetas como seu parâmetro.

While ($true) {
    :thisLoop While ($true) {
        While ($true) {
            #The break command below will break out of the `thisLoop` while loop.
            Break thisLoop
        }
    }
}

o comando continue

O comando continue também encerra o script no nível do loop. No entanto, em vez de encerrar todo o loop instantaneamente, o comando continue apenas termina a iteração atual e mantém o loop em andamento até que todas as iterações tenham sido processadas.

Podemos dizer que este é um comando para pular algo ao executar um loop.

Código de Exemplo:

$numList = 1, 2, 3, 4, 5, 6, 7, 8

foreach ($number in $numList) {
    if ($number -eq 2) {
        #The continue command below will skip number 2 and will directly process the next iteration, resetting the process to the top of the loop.
        continue
    }

    Write-Output $number
}

Saída:

1
3
4
5
6
7
8
Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Artigo relacionado - PowerShell Script