Come Terminare uno Script in Windows PowerShell

  1. Usa il comando Exit per terminare uno script in Windows PowerShell
  2. Usa il comando Throw per terminare uno script in Windows PowerShell
  3. il comando Return
  4. il comando break
  5. il comando continue
Come Terminare uno Script in Windows PowerShell

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
Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti
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

Articolo correlato - PowerShell Script