
Windowsに標準搭載されているコマンドインターフェース「PowerShell」では、値や変数に対してさまざまな演算を行うことができます。
そこでここでは、WindowsのPowerShellでどのような演算子が使えるのかや、それぞれの演算子の基本的な使い方を解説します。
目次
算術演算子
算術演算子の一覧
| 演算子 | 説明 |
|---|---|
| + | 2つの値を加算する |
| - | 2つの値を減算する |
| * | 2つの値を乗算する |
| / | 2つの値を除算する |
| % | 2つの値の除算の余りを返す |
算術演算子の使用例
PS> $a = 5
PS> $b = 2
PS> $a + $b
7
PS> $a - $b
3
PS> $a * $b
10
PS> $a / $b
2.5
PS> $a % $b
1代入演算子
代入演算子の一覧
| 演算子 | 説明 |
|---|---|
| = | 右辺の値を左辺の変数の値に代入する |
| += | 右辺の値を左辺の変数の値に加算する |
| -= | 右辺の値を左辺の変数の値から減算する |
| *= | 右辺の値で左辺の変数の値を乗算する |
| /= | 右辺の値で左辺の変数の値を除算する |
| %= | 右辺の値で左辺の変数の値を除算した余りを代入する |
代入演算子の使用例
PS> $a = 5
PS> $b = 2
PS> $a = $b
PS> $a
2
PS> $a += $b
PS> $a
7
PS> $a -= $b
PS> $a
3
PS> $a *= $b
PS> $a
10
PS> $a /= $b
PS> $a
2.5
PS> $a %= $b
PS> $a
1単項演算子
単項演算子の一覧
| 演算子 | 説明 |
|---|---|
| ++ | 左辺または右辺の変数の値をに1を加算する |
| -- | 左辺または右辺の変数の値から1を減算する |
単項演算子の使用例
PS> $a = 5
PS> $a++
PS> $a
6
PS> $c =$a++
PS> $c
5
PS> $c =++$a
PS> $c
6単項演算子は後置きすると、値を返してから加算または減算され、前置きすると加算または減算されてから値が返されます。
比較演算子
比較演算子の一覧
| 演算子 | 説明 |
|---|---|
| -eq | 左辺の値と右辺の値が等しい |
| -ne | 左辺の値と右辺の値が異なる |
| -gt | 左辺の値が右辺の値より大きい |
| -ge | 左辺の値が右辺の値以上 |
| -lt | 左辺の値が右辺の値より大きい |
| -le | 左辺の値が右辺の値以下 |
比較演算子を使った場合、結果が真ならbool値のTrueが、結果が偽ならFalseが返されます。
比較演算子の使用例
PS> 1 -eq 1
True
PS> 1 -gt 2
False
PS> 3 -lt 4
True比較演算子は文字列の比較にも使用できますが、デフォルトでは大文字と小文字が区別されません。大文字と小文字を区別するときは、演算子の先頭に「c」を付けます。
PS> $str = "Hello"
PS> $str -eq "hello"
True
PS> $str -ceq "hello"
False論理演算子
論理演算子の一覧
| 演算子 | 説明 |
|---|---|
| -and | 論理積 |
| -or | 論理和 |
| -xor | 排他的論理和 |
| -not | 論理否定 |
| ! | 論理否定 |
論理演算子を使った場合、結果が真ならbool値のTrueが、結果が偽ならFalseが返されます。
論理演算子の使用例
PS> (1-eq 1) -and (3 -eq 4)
False
PS> (1-eq 1) -or (3 -eq 4)
True
PS> (1-eq 1) -xor (3 -eq 4)
True
PS> (1-eq 1) -xor (3 -eq 3)
False
PS> !(1-eq 1)
False
PS> !(1-eq 2)
True文字列演算子
文字列演算子の一覧
| 演算子 | 説明 |
|---|---|
| + | 文字列の連結 |
| += | 文字列の追加 |
| * | 文字列の繰り返し |
| -like | 文字列をワイルドカードで比較し、一致でTrue |
| -notlike | 文字列をワイルドカードで比較し、不一致でTrue |
| -match | 文字列を正規表現で比較し、一致でTrue |
| -notmatch | 文字列を正規表現で比較し、不一致でTrue |
| -replace | 文字列を置換 |
| -f | フォーマットの指定 |
文字列演算子の使用例
PS> $str1 = "My name is"
PS> $str2 = "Tarou"
PS> $str1 + $str2
My name isTarou
PS> $str2 * 2
TarouTarou
PS> $str2 -like "T*"
True
PS> $str2 -match "[a-z]"
True
PS> $str2 -match "[3-8]"
False
PS> $str2 -replace "Ta","Ji"
Jirouなお、-match演算子で一致する文字列があった場合、シェル変数$matchesにパターンに一致する文字列が格納されます。
PS> $str1 = "My name is"
PS> $str1 -match "(.)(.)"
PS> $matches
Name Value
---- -----
2 y
1 M
0 My