Come Terminare uno Script in Windows PowerShell
-
Usa il comando
Exit
per terminare uno script in Windows PowerShell -
Usa il comando
Throw
per terminare uno script in Windows PowerShell -
il comando
Return
-
il comando
break
-
il comando
continue

Ci sono molti modi per terminare uno script in Windows PowerShell. Tuttavia, alcuni di essi possono sembrare simili in termini di contesto, ma il loro scopo effettivo è diverso l’uno dall’altro quando si tratta di funzionalità.
Questo articolo elencherà i modi per terminare uno script in Windows PowerShell e li definirà uno per uno.
Usa il comando Exit
per terminare uno script in Windows PowerShell
Il comando Exit
uscirà dal tuo script come derivato dal suo nome. Se non hai una sessione aperta, questo comando chiuderà anche la tua shell o finestra di scripting. Il comando Exit
è anche utile per fornire feedback utilizzando codici di uscita.
exit
Eseguire solo il comando exit
può avere un codice di uscita di 0
(predefinito), il che significa successo o terminazione normale, o 1
, il che significa errore o un’eccezione non gestita.
Ciò che è eccellente riguardo ai codici di uscita è che i codici di uscita sono completamente personalizzabili. Finché il codice di uscita è un intero, il codice di uscita è valido. Inoltre, per conoscere l’ultimo codice di uscita, puoi visualizzare la variabile $LASTEXITCODE
.
Exit.ps1
Write-Output 'Running sample script.'
exit 200
Codice di esempio:
PS C:\>powershell.exe .\Exit.ps1
PS C:\>Running sample script.
PS C:\>Write-Output $LASTEXITCODE
PS C:\>200
Inoltre, ricorda che quando chiami un altro file PowerShell con un comando exit
da uno script PowerShell in esecuzione, anche lo script in esecuzione terminerà.
Usa il comando Throw
per terminare uno script in Windows PowerShell
Il comando Throw
è simile al comando Exit
con un codice di uscita ma è molto più informativo. Puoi usare il comando e un’espressione personalizzata per generare errori di terminazione. Di solito, il comando Throw
viene utilizzato all’interno del blocco Catch
di un’espressione Try-Catch
per descrivere adeguatamente un’eccezione.
Codice di esempio:
Try {
$divideAnswer = 1 / 0
}
Catch {
Throw "The mathematical expression has a syntax error"
}
Output:
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
il comando Return
A differenza del comando Exit
, il comando Return
tornerà al suo punto di chiamata precedente e non chiuderà la tua finestra di scripting.
Di solito, usiamo il comando Return
per restituire valori da una funzione eseguita da qualche parte nello script.
Codice di esempio:
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
Output:
3
il comando break
Utilizziamo il comando break
per terminare cicli e casi.
Codice di esempio:
$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
}
Output:
1
2
3
4
5
6
7
Se abbiamo cicli nidificati, interrompiamo solo il ciclo da cui è stato chiamato il comando break
.
Codice di esempio:
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 vuoi uscire da un ciclo nidificato specifico, il comando break
utilizza etichette come suo parametro.
While ($true) {
:thisLoop While ($true) {
While ($true) {
#The break command below will break out of the `thisLoop` while loop.
Break thisLoop
}
}
}
il comando continue
Il comando continue
interrompe anche lo script a livello di ciclo. Tuttavia, invece di terminare immediatamente l’intero ciclo, il comando continue
termina solo l’iterazione corrente e continua il ciclo fino a quando tutte le iterazioni sono state elaborate.
Possiamo dire che questo è un comando per saltare qualcosa durante l’esecuzione di un ciclo.
Codice di esempio:
$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
}
Output:
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