Wie man ein Skript in Windows PowerShell beendet
-
Verwenden Sie den Befehl
Exit
, um ein Skript in Windows PowerShell zu beenden -
Verwenden Sie den Befehl
Throw
, um ein Skript in Windows PowerShell zu beenden -
der Befehl
Return
-
der Befehl
break
-
der Befehl
continue

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
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedInVerwandter Artikel - PowerShell Script
- Beenden Sie manuell die Ausführung eines langen Skripts in PowerShell
- Wie man Get-Acl für einen bestimmten Benutzer in PowerShell erhält
- Konvertieren Sie die PowerShell-Datei in eine ausführbare Datei
- Wie man ein PowerShell-Skript aus einer Batch-Datei ausführt
- Wie man ein PowerShell-Skript ausführt