Terminer un script dans Windows PowerShell
-
Utiliser la commande
Exit
pour terminer un script dans Windows PowerShell -
Utilisez la commande
Throw
pour terminer un script dans Windows PowerShell -
La commande
Return
-
La commande
break
-
La commande
continue
Il existe de nombreuses façons de mettre fin à un script dans Windows PowerShell. Cependant, certains d’entre eux peuvent sembler similaires en termes de contexte, mais leur objectif réel est différent les uns des autres en ce qui concerne les fonctionnalités.
Cet article énumérera les façons de mettre fin à un script dans Windows PowerShell et de les définir une par une.
Utiliser la commande Exit
pour terminer un script dans Windows PowerShell
La commande Exit
quittera votre script tel que dérivé de son nom. Si vous n’avez pas de session ouverte, cette commande fermera également votre shell ou votre fenêtre de script. La commande Exit
est également utile pour fournir des commentaires à l’aide de codes de sortie.
exit
Exécuter uniquement la commande exit
peut avoir un code de sortie de 0
(par défaut), ce qui signifie un succès ou une fin normale, ou 1
, ce qui signifie un échec ou un lancer non intercepté.
Ce qui est excellent avec les codes de sortie, c’est que les codes de sortie sont entièrement personnalisables. Tant que le code de sortie est un entier, le code de sortie est valide. De plus, pour connaître le dernier code de sortie, vous pouvez sortir la variable $LASTEXITCODE
.
Exit.ps1
Write-Output 'Running sample script.'
exit 200
Exemple de code :
PS C:\>powershell.exe .\Exit.ps1
PS C:\>Running sample script.
PS C:\>Write-Output $LASTEXITCODE
PS C:\>200
N’oubliez pas non plus que lorsque vous appelez un autre fichier PowerShell avec une commande exit
à partir d’un script PowerShell en cours d’exécution, le script en cours d’exécution se terminera également.
Utilisez la commande Throw
pour terminer un script dans Windows PowerShell
La commande Throw
est similaire à la commande Exit
avec un code de sortie mais est beaucoup plus informative. Vous pouvez utiliser la commande et une expression personnalisée pour générer des erreurs de fin. Habituellement, la commande Throw
est utilisée à l’intérieur du bloc Catch
à l’intérieur d’une expression Try-Catch
pour décrire une exception de manière adéquate.
Exemple de code :
Try{
$divideAnswer = 1/0
}Catch{
Throw "The mathematical expression has a syntax error"
}
Production :
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
La commande Return
Contrairement à la commande Exit
, la commande Return
reviendra à son point d’appel précédent et ne fermera pas votre fenêtre de script.
Habituellement, nous utilisons la commande Return
pour renvoyer les valeurs d’une fonction exécutée quelque part dans le script.
Exemple de code :
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
Production :
3
La commande break
Nous utilisons la commande break
pour terminer les boucles et les cas.
Exemple de code :
$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
}
Production :
1
2
3
4
5
6
7
Si nous avons des boucles imbriquées, nous ne rompons que la boucle à partir de laquelle la commande break
est appelée.
Exemple de code :
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
}
Si vous souhaitez sortir d’une boucle imbriquée spécifique, la commande break
utilise des étiquettes comme paramètre.
While ($true) {
:thisLoop While ($true) {
While ($true) {
#The break command below will break out of the `thisLoop` while loop.
Break thisLoop
}
}
}
La commande continue
La commande continue
termine également le script au niveau de la boucle. Pourtant, au lieu de terminer la boucle entière instantanément, la commande continue
ne termine que l’itération en cours et maintient la boucle jusqu’à ce que toutes les itérations aient été traitées.
On peut dire qu’il s’agit d’une commande pour sauter quelque chose lors de l’exécution d’une boucle.
Exemple de code :
$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
}
Production :
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