条件文を記述する

一覧

書式 意味
$x -eq $y $xと$yが等しい(x==y)
$x -gt $y $xは$yより大きい(x>y)
$x -lt $y $xは$yより小さい(x<y)
$x -ge $y $xは$yより大きいか等しい(x>=y)
$x -le $y $xは$yより小さいか等しい(x<=y)
$a -contains $x 配列$aは$xを含む
$x -is [type] $xのデータ型の名前はtypeである

解説

 PowerShellではif( )などの括弧内に条件式を書くことでスクリプトのフロー制御ができます。

PS U:\PS> if(1 -eq 1){ "等しい" }
等しい
PS U:\PS>

 この括弧内の条件式は単独で書くことができます。自分で書いた条件が正しいかどうか確かめるときに便利です。

PS U:\PS> 1 -eq 1  # 1と1が等しいか判定
True
PS U:\PS> 1 -eq 2  # 1と2が等しいか判定
False
PS U:\PS>

 このほかに、上の表で記載した演算子で条件判断ができます。ほとんどは数学で使用される比較演算子に対応するので問題ないと思いますが、-contains と -is は特殊です。

-contains

 -contains は、指定したオブジェクトが配列に含まれているかどうかを判定します。

PS U:\PS> # 配列を作る
PS U:\PS> $a=1..5
PS U:\PS>
PS U:\PS> # 内容を確認
PS U:\PS> $a
1
2
3
4
5
PS U:\PS> # 条件文
PS U:\PS> $a -contains 5
True
PS U:\PS> $a -contains 6
False
PS U:\PS>

-is

 -is演算子は、指定したオブジェクトの型を判定します。

PS U:\PS> 1 -is [int]
True
PS U:\PS> 1 -is [string]
False
PS U:\PS> "abc" -is [int]
False
PS U:\PS> "abc" -is [string]
True
PS U:\PS>
inserted by FC2 system