- コメント
# で始まる。
PS> # コメント PS>
- 変数
$ で始まる。
- 単純変数
PS> $a = 10 PS> $a 10 PS>
- 配列
PS> $b = @(10,20,30) PS> $b[1] 20 PS>
- 連想配列
囲みは波括弧、要素の区切りはセミコロンであることに注意。
PS> $c = @{a = 100; b = 200; c = "A"} PS> PS> $c["a"] 100 PS> $c.b 200 PS>
要素=0 の連想配列を作ってから足していくこともできる。
PS> $d = @{} PS> PS> $d["a"] = 300 PS> $d.b = "AAA" PS> PS> $d["a"] 300 PS> $d.b AAA
- 単純変数
- コマンドレットの戻り値にアクセスする
コマンドレットの戻り値にアクセスする場合は、変数に代入するか、() でコマンドレットを囲む必要がある。
PS> $a = dir PS> $a.Count PS> (dir).Count # dir.Count はできないことに注意 PS> PS> $b = dir c: PS> $b.Count PS> (dir c:).Count
- 算術関係演算子
-eq -ne -ge -le -gt -lt。数学記号 =、<、> は使えないことに注意。
PS> if ($a -eq 10) { …
- 算術演算子
四則演算 … + - * /
商 … なし (先に剰余を引いた後に / で計算するか、[Math]::DivRem を無理やり使う)
剰余 … %
冪乗 … なし ([Math]::Pow を使用)
平方根 … なし ([Math]::Sqrt か [Math]::Pow を使用)PS> [Math]::DivRem(59,12,[ref]$null) # 商 4 PS> 59 % 12 # 剰余 11 PS> [Math]::Pow(10,2) # 冪乗 100 PS> [Math]::Sqrt(3) # 平方根 1.73205080756888 PS> [Math]::Pow(3,1/2) 1.73205080756888
ただし、[Math]::DivRem(~ は引数を int でキャストしてしまうために、除数/被除数が整数でない場合は意図した結果が出ない場合があります。
PS> $quot = 0 PS> [Math]::DivRem(5.7, 2.9, [ref]$quot) 2 ← 5.7 が 6, 2.9 が 3 と評価されるために 2 が戻る ( 5.7/2.9 = 1.96 なので 1 を期待 ) PS> $quot 0 ← 剰余も同様に 6 % 3 相当と評価されるために 0 が戻る ( 同様に 2.8 を期待 ) PS> PS> 5.7 % 2.9 2.8 ← % 演算子の場合は、整数に丸めにられないので、小数点以下も戻る
- 論理演算子
-and -or -xor -not
PS> 1 -and 2 True
- 論理演算子(ビット単位)
-band -bor -bxor -bnot
PS> 1 -bor 2 3