[PowerShell][基本] 関数でスイッチパラメータを作成する

本記事の概要

PowerShellの関数には、スイッチパラメータと呼ばれる特殊なパラメータを定義することができます。

この記事では、関数にスイッチパラメータを作成する方法について説明します。

関数にスイッチパラメータを作成する

PowerShellの関数には、スイッチパラメータと呼ばれる特殊なパラメータを定義することができます。スイッチパラメータは、パラメータに値を指定する必要がなく、パラメータ名だけを使ってオン/オフの切り替えができるパラメータです。

スイッチパラメータを定義するには、以下のようにパラメータの名前の前に[switch]をつけます。

function <関数名> {
    param(
        [switch]<パラメータ名>
    )
    # 関数の処理内容を記述
}

例えば、以下は、スイッチパラメータを使って、ユーザーにメッセージを表示する関数の例です。

function Say-Message {
    param(
        [switch]$loud
    )
    $message = "Hello, World!"
    if ($loud) {
        $message = $message.ToUpper()
    }
    Write-Output $message
}

この関数では、$loudというスイッチパラメータが定義されています。このパラメータは、$trueまたは$falseの値を持ちません。このため、パラメータを指定するだけで、$trueとなります。

この関数を呼び出す場合、以下のようにスイッチパラメータを指定することができます。

Say-Message -loud

この場合、-loudというスイッチパラメータが指定されているため、$messageは大文字に変換されて”HELLO, WORLD!”と表示されます。逆に、スイッチパラメータを指定しない場合は、$messageは小文字のまま”Hello, World!”と表示されます。

スイッチパラメータは、関数の使用方法を簡単にすることができるため、特にTrue/Falseのオプションが必要な場合に便利です。

コメント

タイトルとURLをコピーしました