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

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

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 スクリプトがあるディレクトリに移動します。例えば:

     powershellCopycd C:\Path\To\Your\Script
    
  • スクリプトを実行する

    PowerShell スクリプトを実行し、パラメータに Boolean 値を渡すには、PowerShell.exe コマンドを使用します。スクリプトファイルの名前を指定し、-MyBooleanParameter パラメータを使用して Boolean 值を渡します。

    例えば:

     powershellCopyPowerShell.exe -File "YourScript.ps1" -MyBooleanParameter $true
    

    上記の例では、値 $true-MyBooleanParameter パラメータに渡しています。

    false Boolean 値をパラメータに渡すには、スクリプトファイルの名前を指定し、$false の値で -MyBooleanParameter パラメータを使用します。

    例えば:

     powershellCopyPowerShell.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 スクリプトがあるディレクトリに移動します。例えば:

     powershellCopycd C:\Path\To\Your\Script
    
  • スクリプトを実行する

    PowerShell スクリプトを実行し、switch パラメータを使用して Boolean 値を渡すには、PowerShell.exe コマンドを使用します。スクリプトファイルの名前を指定し、-MySwitchParameter スイッチを単に追加します。

    例えば:

     powershellCopyPowerShell.exe -File "YourScript.ps1" -MySwitchParameter
    

    この例では、switch が存在しており、true Boolean 値を示しています。

    false Boolean 値を渡すには、単に switch パラメータを含めずにスクリプトを実行します。以下はその例です:

     powershellCopyPowerShell.exe -File "YourScript.ps1"
    

    スクリプトを実行する際に switch パラメータを含めないことで、実質的に false Boolean 値を渡しており、スクリプトはこの不在に基づいて適切な動作を取ることができます。

コマンドプロンプトから PowerShell スクリプトに switch パラメータを使用して Boolean 値を渡すことは、スクリプトの動作を制御する効率的で簡単な方法です。switch パラメータは、追加の引数や値なしでスクリプト内の特定の機能や動作を有効または無効にしたいシナリオには最適です。

コマンドプロンプトから PowerShell スクリプトに Boolean 値を渡すために文字列値を使用する

コマンドプロンプトから PowerShell スクリプトに Boolean 値を渡す場合、別の方法は文字列値を使用することです。この方法は、truefalse などの値を文字列として渡し、スクリプト内で 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 スクリプトがあるディレクトリに移動します。例えば:

     powershellCopycd C:\Path\To\Your\Script
    
  • スクリプトを実行する

    Boolean 状態を表す文字列値を渡すために PowerShell スクリプトを実行するには、PowerShell.exe コマンドを使用します。スクリプトファイルの名前を指定し、文字列値(例:"true" または "false")で -MyBooleanString パラメータを含めます:

     powershellCopyPowerShell.exe -File "YourScript.ps1" -MyBooleanString "true"
    

結論

コマンドプロンプトから PowerShell スクリプトに文字列値を使用して Boolean 値を渡すことは、ユーザー入力や文字列としての Boolean 状態を含む設定ファイルを扱う際に特に柔軟で効果的な方法です。これらの文字列値をスクリプト内で Boolean に変換することで、スムーズに操作でき、より適応性がありユーザーフレンドリーなスクリプトを作成できます。

文字列値を Boolean に変換し、PowerShell スクリプト内で使用する方法を理解することは、スクリプト開発者にとって貴重なスキルです。これにより、さまざまなシナリオでの柔軟性と使いやすさが向上します。

チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: 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