コマンドプロンプトから PowerShell スクリプトにブールパラメーターを渡す方法
- コマンドプロンプトから PowerShell スクリプトに Boolean 値を渡すために Boolean パラメータを使用する
- コマンドプロンプトから PowerShell スクリプトに Boolean 値を渡すために文字列値を使用する
- 結論

PowerShell スクリプトは、.ps1
拡張子のテキストファイルに保存された構造化されたコマンドの連続です。実行されると、PowerShell はこれらのコマンドを一つずつ処理し、ユーザーがさまざまなタスクを自動化できるようにします。
スクリプトをより多用途で適応可能にするために、PowerShell コード内で param
ステートメントを使用してパラメータを定義することができます。スクリプト内にパラメータを定義すると、スクリプトが実行されるときにデータを渡すためのエントリポイントが作成されます。
シンプルな例で説明しましょう。YourScript.ps1
という名前の PowerShell スクリプトを考えてみてください。このスクリプトはユーザー入力値を受け取ります。
powershellCopyparam (
$a, $b
)
if ($a -lt $b) {
Write-Host "$a is less than $b"
}
else {
Write-Host "$a is not less than $b"
}
このスクリプトを実行し、コマンドプロンプトから値を渡すには、次のコマンドを使用できます。
powershellCopypowershell.exe -NoProfile -Command .\YourScript.ps1 -a 4 -b 5
これを実行すると、次の出力が得られます。
powershellCopy4 is less than 5
これは、PowerShell スクリプトに値を効率的に渡す方法を示しており、ユーザーがスクリプトの動作をカスタマイズできるようにしています。
さて、コマンドプロンプトから PowerShell スクリプトに Boolean
値を渡すトピックに進みましょう。Boolean
値は TRUE
または FALSE
のいずれかを表すことができ、これをスクリプトに組み込むことで、意思決定や条件付き実行に非常に役立ちます。
コマンドプロンプトから PowerShell スクリプトに Boolean 値を渡すために Boolean パラメータを使用する
コマンドプロンプトから PowerShell スクリプトに Boolean 値をパラメータを使用して渡すには、まず Boolean 値を受け入れるパラメータを宣言します。[bool]
データ型を使用して、そのパラメータが Boolean 値を受け入れるべきであることを指定できます。
例えば:
powershellCopyparam (
[bool]$MyBooleanParameter
)
パラメータを設定したので、スクリプト内で $MyBooleanParameter
変数を利用して Boolean 値に基づいて意思決定を行うことができます。
例えば、次のような例を考えてみましょう:
powershellCopyif ($MyBooleanParameter) {
Write-Host "The Boolean parameter is true."
}
else {
Write-Host "The Boolean parameter is false."
}
PowerShell スクリプト内でパラメータを定義したら、スクリプトを実行する際にコマンドプロンプトから Boolean 値を渡すことができます。
これを行うには、次の手順に従います:
-
コマンドプロンプトを開く
Win+R を押し、
cmd
を入力して Enter を押すことでコマンドプロンプトを開きます。 -
スクリプトのディレクトリに移動する
cd
コマンドを使用して、PowerShell スクリプトがあるディレクトリに移動します。例えば:powershellCopy
cd C:\Path\To\Your\Script
-
スクリプトを実行する
PowerShell スクリプトを実行し、パラメータに Boolean 値を渡すには、
PowerShell.exe
コマンドを使用します。スクリプトファイルの名前を指定し、-MyBooleanParameter
パラメータを使用して Boolean 值を渡します。例えば:
powershellCopy
PowerShell.exe -File "YourScript.ps1" -MyBooleanParameter $true
上記の例では、値
$true
を-MyBooleanParameter
パラメータに渡しています。false
Boolean 値をパラメータに渡すには、スクリプトファイルの名前を指定し、$false の値で-MyBooleanParameter
パラメータを使用します。例えば:
powershellCopy
PowerShell.exe -File "YourScript.ps1" -MyBooleanParameter $false
上記のコマンドでは、値
$false
を-MyBooleanParameter
パラメータに渡しています。これは、スクリプト内の Boolean パラメータが実行時にfalse
値を受け取ることを意味します。スクリプトはこのfalse
値に基づいて適切に動作します。
コマンドプロンプトから PowerShell スクリプトに Boolean 値を渡すために switch
パラメータを使用する
PowerShell の switch
パラメータは、Boolean オプションを指定するために使用される特別なタイプのパラメータです。パラメータが存在する(true
)か、存在しない(false
)かのどちらかです。
言い換えれば、switch
パラメータに値を提供する必要はありません。その存在自体が true
値を示し、存在しない場合は false
値を示します。
コマンドプロンプトから PowerShell スクリプトに switch
パラメータを使用して Boolean 値を渡すには、まず Boolean 値を受け入れるためにパラメータを switch
として宣言します。[switch]
データ型を使用して、そのパラメータがスイッチであることを指定できます。
以下は switch
パラメータを定義する方法の例です:
powershellCopyparam (
[switch]$MySwitchParameter
)
swtich
パラメータを定義したら、スクリプト内で $MySwitchParameter
変数を利用して、スイッチが存在するか(true
)absent であるか(false
)に基づいて動作を制御できます。
例えば、if
ステートメントを使用して switch
パラメータの状態を確認できます:
powershellCopyif ($MySwitchParameter) {
Write-Host "The switch is present, so the Boolean value is true."
}
else {
Write-Host "The switch is absent, so the Boolean value is false."
}
スクリプト内に switch
パラメータが定義されていると、スクリプトを実行する際にコマンドプロンプトから簡単に Boolean 値を渡すことができます。
手順は以下の通りです:
-
コマンドプロンプトを開く
Win+R を押し、
cmd
と入力して Enter を押してコマンドプロンプトを起動します。 -
スクリプトのディレクトリに移動する
cd
コマンドを使用して、PowerShell スクリプトがあるディレクトリに移動します。例えば:powershellCopy
cd C:\Path\To\Your\Script
-
スクリプトを実行する
PowerShell スクリプトを実行し、
switch
パラメータを使用して Boolean 値を渡すには、PowerShell.exe
コマンドを使用します。スクリプトファイルの名前を指定し、-MySwitchParameter
スイッチを単に追加します。例えば:
powershellCopy
PowerShell.exe -File "YourScript.ps1" -MySwitchParameter
この例では、
switch
が存在しており、true
Boolean 値を示しています。false
Boolean 値を渡すには、単にswitch
パラメータを含めずにスクリプトを実行します。以下はその例です:powershellCopy
PowerShell.exe -File "YourScript.ps1"
スクリプトを実行する際に
switch
パラメータを含めないことで、実質的にfalse
Boolean 値を渡しており、スクリプトはこの不在に基づいて適切な動作を取ることができます。
コマンドプロンプトから PowerShell スクリプトに switch
パラメータを使用して Boolean 値を渡すことは、スクリプトの動作を制御する効率的で簡単な方法です。switch
パラメータは、追加の引数や値なしでスクリプト内の特定の機能や動作を有効または無効にしたいシナリオには最適です。
コマンドプロンプトから PowerShell スクリプトに Boolean 値を渡すために文字列値を使用する
コマンドプロンプトから PowerShell スクリプトに Boolean 値を渡す場合、別の方法は文字列値を使用することです。この方法は、true
や false
などの値を文字列として渡し、スクリプト内で Boolean 値に変換できるため、より柔軟性があります。
コマンドプロンプトから PowerShell スクリプトへ文字列値を使用して Boolean 値を渡すには、Boolean 状態を表す文字列値を受け入れるパラメータを宣言します。このパラメータには [string]
データ型を使用できます。
例えば:
powershellCopy
param (
[string]$MyBooleanString
)
スクリプト内で文字列値を Boolean 値に変換します。PowerShell はこの変換を行う方法を提供しています。
例えば:
powershellCopy$MyBoolean = [System.Management.Automation.LanguagePrimitives]::ConvertTo([bool], $MyBooleanString)
これで、スクリプト内で $MyBoolean
変数を使用して Boolean 値を必要に応じて操作できます。例えば:
powershellCopyif ($MyBoolean) {
Write-Host "The Boolean value is true."
}
else {
Write-Host "The Boolean value is false."
}
スクリプト内で文字列値のパラメータが定義されたので、スクリプトを実行する際にコマンドプロンプトから Boolean 値を渡すことができます。手順は以下の通りです:
-
コマンドプロンプトを開く
Win+R を押して
cmd
と入力し、Enter を押してコマンドプロンプトを起動します。 -
スクリプトのディレクトリに移動する
cd
コマンドを使用して、PowerShell スクリプトがあるディレクトリに移動します。例えば:powershellCopy
cd C:\Path\To\Your\Script
-
スクリプトを実行する
Boolean 状態を表す文字列値を渡すために PowerShell スクリプトを実行するには、
PowerShell.exe
コマンドを使用します。スクリプトファイルの名前を指定し、文字列値(例:"true"
または"false"
)で-MyBooleanString
パラメータを含めます:powershellCopy
PowerShell.exe -File "YourScript.ps1" -MyBooleanString "true"
結論
コマンドプロンプトから PowerShell スクリプトに文字列値を使用して Boolean 値を渡すことは、ユーザー入力や文字列としての Boolean 状態を含む設定ファイルを扱う際に特に柔軟で効果的な方法です。これらの文字列値をスクリプト内で Boolean に変換することで、スムーズに操作でき、より適応性がありユーザーフレンドリーなスクリプトを作成できます。
文字列値を Boolean に変換し、PowerShell スクリプト内で使用する方法を理解することは、スクリプト開発者にとって貴重なスキルです。これにより、さまざまなシナリオでの柔軟性と使いやすさが向上します。