Wie man ein Skript in Windows PowerShell beendet

  1. Verwenden Sie den Befehl Exit, um ein Skript in Windows PowerShell zu beenden
  2. Verwenden Sie den Befehl Throw, um ein Skript in Windows PowerShell zu beenden
  3. der Befehl Return
  4. der Befehl break
  5. der Befehl continue
Wie man ein Skript in Windows PowerShell beendet

Es gibt viele Möglichkeiten, ein Skript in Windows PowerShell zu beenden. Einige von ihnen mögen im Kontext ähnlich klingen, haben jedoch unterschiedliche tatsächliche Zwecke, wenn es um die Funktionalität geht.

Dieser Artikel wird Möglichkeiten aufzählen, ein Skript in Windows PowerShell zu beenden, und sie einzeln definieren.

Verwenden Sie den Befehl Exit, um ein Skript in Windows PowerShell zu beenden

Der Befehl Exit beendet Ihr Skript, wie es der Name schon sagt. Wenn Sie keine offene Sitzung haben, schließt dieser Befehl auch Ihre Shell- oder Skriptfenster. Der Befehl Exit ist auch hilfreich, um Rückmeldungen durch die Verwendung von Rückgabecodes zu geben.

exit

Das Ausführen des Befehls exit kann einen Rückgabecode von 0 (Standard) haben, was Erfolg oder normale Beendigung bedeutet, oder 1, was Misserfolg oder einen nicht behandelten Fehler bedeutet.

Was an Rückgabecodes hervorragend ist, ist, dass die Rückgabecodes vollständig anpassbar sind. Solange der Rückgabecode eine Ganzzahl ist, ist der Rückgabecode gültig. Darüber hinaus können Sie den letzten Rückgabecode ausgeben, indem Sie die Variable $LASTEXITCODE verwenden.

Exit.ps1

Write-Output 'Running sample script.'
exit 200

Beispielcode:

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

Denken Sie auch daran, dass das Aufrufen einer anderen PowerShell-Datei mit einem exit-Befehl aus einem laufenden PowerShell-Skript dazu führt, dass das laufende Skript ebenfalls beendet wird.

Verwenden Sie den Befehl Throw, um ein Skript in Windows PowerShell zu beenden

Der Befehl Throw ist ähnlich wie der Befehl Exit mit einem Rückgabecode, gibt jedoch viel mehr Informationen. Sie können den Befehl und einen benutzerdefinierten Ausdruck verwenden, um beendende Fehler zu erzeugen. In der Regel wird der Befehl Throw innerhalb des Catch-Blocks in einem Try-Catch-Ausdruck verwendet, um eine Ausnahme angemessen zu beschreiben.

Beispielcode:

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

Ausgabe:

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

der Befehl Return

Im Gegensatz zum Befehl Exit gibt der Befehl Return zu seinem vorherigen Aufrufpunkt zurück und schließt nicht Ihr Skriptfenster.

In der Regel verwenden wir den Befehl Return, um Werte aus einer ausgeführten Funktion irgendwo im Skript zurückzugeben.

Beispielcode:

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

Ausgabe:

3

der Befehl break

Wir verwenden den Befehl break, um Schleifen und Fälle zu beenden.

Beispielcode:

$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
}

Ausgabe:

1
2
3
4
5
6
7

Wenn wir verschachtelte Schleifen haben, brechen wir nur aus der Schleife aus, von der der break-Befehl aufgerufen wird.

Beispielcode:

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
}

Wenn Sie aus einer bestimmten verschachtelten Schleife ausbrechen möchten, verwendet der break-Befehl Labels als Parameter.

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

der Befehl continue

Der Befehl continue beendet ebenfalls das Skript auf Schleifenebene. Statt jedoch die gesamte Schleife sofort zu beenden, beendet der Befehl continue nur die aktuelle Iteration und lässt die Schleife weiterlaufen, bis alle Iterationen verarbeitet sind.

Wir können sagen, dass dies ein Befehl ist, um etwas beim Ausführen einer Schleife zu überspringen.

Beispielcode:

$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
}

Ausgabe:

1
3
4
5
6
7
8
Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
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

Verwandter Artikel - PowerShell Script