コマンドプロンプトから PowerShell スクリプトにブールパラメータを渡す

Rohan Timalsina 2022年4月1日
コマンドプロンプトから PowerShell スクリプトにブールパラメータを渡す

PowerShell スクリプトは、拡張子が .ps1 のテキストファイルに保存されたコマンドのコレクションです。PowerShell は、これらのコマンドを順番に実行して、さまざまなアクションを実行します。param ステートメントを使用して、PowerShell でパラメーターを定義できます。

これは、ユーザーからの入力として値を受け取る単純な PowerShell スクリプト myscript.ps1 の例です。

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

以下のコマンドを使用して値を渡し、コマンドプロンプトから上記のスクリプトを実行できます。

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

出力:

4 is less than 5

ご覧のとおり、コマンドプロンプトから PowerShell スクリプトに値を渡すことができました。コマンドプロンプトから PowerShell スクリプトにブール値の値を渡す方法を説明します。ブール値は、TRUE または FALSE のいずれかになります。

ブールパラメータを使用して、コマンドプロンプトから PowerShell スクリプトにブール値を渡す

パラメータのデータ型を [bool] に設定して、コマンドプロンプトから PowerShell スクリプトにブール値を渡すことができます。

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

ブールパラメータは、$True$False10 などのブール値と数値のみを受け入れます。

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

出力:

It is true.

False 値を試してください:

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

出力:

It is false.

switch パラメーターを使用して、コマンドプロンプトから PowerShell スクリプトにブール値を渡する

PowerShell の switch パラメーターは値を取りません。しかし、それは本質的にブールであり、その存在または不在を通じてブールの true または false の値を伝えます。したがって、スイッチパラメータが存在する場合、実際の値になります。また、スイッチパラメータがない場合、値は false になります。switch パラメーターは使いやすく、PowerShell 構文があまり自然ではないブールパラメーターよりも優先されます。

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

switch パラメータが存在する場合:

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

出力:

The value is True.

switch パラメータがない場合:

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

出力:

The value is False.
著者: Rohan Timalsina
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

関連記事 - PowerShell Boolean