条件分岐する

条件分岐するには if 文を用います。PowerShell における条件判断の演算子はこのようになります。

-eqequalC# の場合 ==
-nenot equalC# の場合 !=
-ltless thanC# の場合 <
-leless than equalC# の場合 <=
-gtgreater thanC# の場合 >
-gegreater than equalC# の場合 >=

サンプルソースとして、円の周長、または、円の面積を計算するスクリプトを作成しました。

最初に半径をユーザ入力し、そのあとに、周長を計算するか、面積を計算するか、キー入力で判断します。

c の場合は周長を計算します。
a の場合は面積を計算します。
c または a 以外のキー入力をするとエラー表示します。

# Math で定義されている定数 PI を参照する.
$pai = [math]::PI

# 半径をたずねる.
$buf = Read-Host "raduis ?"
$r = [double]$buf

# 周長を計算するか、面積を計算するかたずねる.
$key = Read-Host "(c)ircumference or (a)rea ?"

# キー入力文字列を必ず小文字にする.
$key = $key.ToLower()

# 先頭の一文字しか評価しない.
$c = $key[0]

# 先頭の一文字を使ってif条件分岐する.
if ( $c -eq "c" )
{
    # 円の周長を計算する.
    $ans = 2.0 * $pai * $r
    $str_out = "circumference is {0}" -f $ans     
}
elseif ( $c -eq "a" )
{
    # 円の面積を計算する.
    $ans = $pai * $r * $r
    $str_out = "area is {0}" -f $ans
}
else
{
    # キー入力が c でも a でもないので計算しない.
    $str_out = "Error: invalid key input."
}

# コンソール出力する.
Write-Host( $str_out )

下記が実行結果です。

円周長さ circumference を求めるために c をキー入力したとき.

raduis ?: 1.0
(c)ircumference or (a)rea ?: c
circumference is 6.28318530717959

円面積 area を求めるために a をキー入力したとき.

raduis ?: 1.0
(c)ircumference or (a)rea ?: a
area is 3.14159265358979

a でも c でもないキー入力をしたとき.

raduis ?: 1.0
(c)ircumference or (a)rea ?: q
Error: invalid key input.