ユーザー入力を変数に読み込む

対話型のスクリプトを実現するには、コンソールからのユーザ入力を変数に仕込む必要があります。具体的には Read-Host コマンドを用います。

ユーザ入力は文字列なので数値として内部処理する場合はキャストする必要があります。文字列を整数に変換する場合は [int]とし、小数に変換する場合は [double] とします。

#--------------------------------------------------
# ユーザの入力待ちをする.
$str_a = Read-Host "a ?= "
$str_b = Read-Host "b ?= "

# ユーザ入力は文字列なので整数にキャストする.
$a = [int]$str_a
$b = [int]$str_b

# 整数計算する.
$ans = $a + $b
#コンソール出力する.
"answer is {0}" -f $ans
#空行で改行LF.
"`n"

#--------------------------------------------------
# ユーザの入力待ちをする.
$str_u = Read-Host "u ?= "
$str_v = Read-Host "v ?= "

# ユーザ入力は文字列なので小数にキャストする.
$u = [double]$str_u
$v = [double]$str_v

# 小数計算する.
$ans = $u + $v
#コンソール出力する.
"answer is {0}" -f $ans
#空行で改行LF.
"`n"

#--------------------------------------------------
# ユーザの入力待ちをする.
$str_x = Read-Host "x ?= "
$str_y = Read-Host "y ?= "

# ユーザ入力は文字列で文字列結合をする.
$ans = $str_x + $str_y
#コンソール出力する.
"answer is {0}" -f $ans
#空行で改行LF.
"`n"

下記が実行結果です。

a ?= : 1.23
b ?= : 4.56
answer is 6


u ?= : 1.23
v ?= : 4.56
answer is 5.79


x ?= : 1.23
y ?= : 4.56
answer is 1.234.56