Ü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.