Übergeben boolesche Parameter von einer Eingabeaufforderung an ein PowerShell-Skript

Rohan Timalsina 1 April 2022
Übergeben boolesche Parameter von einer Eingabeaufforderung an ein PowerShell-Skript

Ein PowerShell-Skript ist eine Sammlung von Befehlen, die in einer Textdatei mit der Erweiterung .ps1 gespeichert sind. PowerShell führt diese Befehle nacheinander aus, um verschiedene Aktionen auszuführen. Sie können Parameter in PowerShell mit der Anweisung param definieren.

Hier ist ein Beispiel für ein einfaches PowerShell-Skript, myscript.ps1, das den Wert als Eingabe vom Benutzer übernimmt.

param($a,$b)
if($a -lt $b){
Write-Host "$a is less than $b"
}
else{
Write-Host "$a is not less than $b"
}

Sie können den folgenden Befehl verwenden, um Werte zu übergeben und das obige Skript von einer Eingabeaufforderung aus auszuführen.

powershell.exe -NoProfile -Command .\myscript.ps1 -a 4 -b 5

Ausgabe:

4 is less than 5

Wie Sie sehen können, konnten wir Werte von einer Eingabeaufforderung an ein PowerShell-Skript übergeben. Wir werden Ihnen beibringen, wie man boolesche Werte von einer Eingabeaufforderung an ein PowerShell-Skript übergibt. Ein boolescher Wert kann entweder TRUE oder FALSE sein.

Verwenden einen booleschen Parameter, um boolesche Werte von einer Eingabeaufforderung an ein PowerShell-Skript zu übergeben

Sie können den Datentyp Ihres Parameters auf [bool] setzen, um boolesche Werte von einer Eingabeaufforderung an ein PowerShell-Skript zu übergeben.

param([int]$a, [bool]$b)
switch($b){
$true {"It is true."}    
$false {"It is false."}
}

Boolesche Parameter akzeptieren nur boolesche Werte und Zahlen, wie z. B. $True, $False, 1 oder 0.

powershell.exe -NoProfile -Command .\myscript.ps1 -a 1 -b $True

Ausgabe:

It is true.

Versuchen Sie den Wert False:

powershell.exe -NoProfile -Command .\myscript.ps1 -a 5 -b 0

Ausgabe:

It is false.

Verwenden den Parameter switch, um boolesche Werte von einer Eingabeaufforderung an ein PowerShell-Skript zu übergeben

Ein switch-Parameter in PowerShell nimmt keinen Wert an. Aber es ist von Natur aus boolesch und vermittelt durch seine Anwesenheit oder Abwesenheit einen booleschen true oder false-Wert. Wenn also ein Schalterparameter vorhanden ist, hat er einen tatsächlichen Wert. Und wenn ein Schalterparameter fehlt, hat er einen falschen Wert. Switch-Parameter sind einfach zu verwenden und werden gegenüber Boolean-Parametern bevorzugt, die eine weniger natürliche PowerShell-Syntax haben.

param ([int] $a, [switch] $b)
switch($b){
$true {"The value is $b."}    
$false {"The value is $b."}
}

Wenn der Switch-Parameter vorhanden ist:

powershell.exe -NoProfile -Command .\myscript2.ps1 -a 5 -b 1

Ausgabe:

The value is True.

Wenn der switch-Parameter fehlt:

powershell.exe -NoProfile -Command .\myscript2.ps1 -a 5 

Ausgabe:

The value is False.
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Verwandter Artikel - PowerShell Boolean