Como Encerrar um Script no Windows PowerShell
-
Use o comando
Exit
para encerrar um script no Windows PowerShell -
Use o comando
Throw
para encerrar um script no Windows PowerShell -
o comando
Return
-
o comando
break
-
o comando
continue

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
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn