【PowerShell講座】演算子について

女性

※この記事は「2021年4月9日」に更新しました。

PowerShell(パワーシェル)講座です。

前回は、変数がオブジェクトとして扱われることを説明しました。

女性

【PowerShell講座】変数について

2019年2月4日

第3回目は、演算子についてです。

環境は、Windows 10(64bit)、PowerShell 6.1.2 です。

ぱそた
SE、Web制作、販売を経験した管理人が解説します。



演算子とは

プログラミング経験のある方はご存知かもしれませんが、演算子は名前の通り、演算を行うための記号です。

それでは、基本的なものから紹介していきます。

算術演算子

算術演算子は、他のプログラミング言語と同様です。

  • + → 加算
  • – → 減算
  • * → 乗算
  • / → 除算
  • % → 剰余

代入演算子

代入演算子も他のプログラミング言語と同様です。

数学の =(イコール)とは、違うということに注意しましょう。

  • = → 左辺に右辺を代入する
  • += → 左辺に右辺の値を加算した結果を格納する
  • -= → 左辺に右辺の値を減算した結果を格納する
  • *= → 左辺に右辺の値を乗算した結果を格納する
  • /= → 左辺に右辺の値を除算した結果を格納する
  • %= → 左辺に右辺の値を剰余した結果を格納する

比較演算子

個人的に違和感があったのが、比較演算子です。

大昔になんとなく調べた Perl の文字列用比較演算子と似ています。

  • -eq → 等しい
  • -ne → 等しくない
  • -gt → より大きい(>)
  • -ge → 以上(>=)
  • -lt → より小さい(<)
  • -le → 以下(≤)

例えば、適当に下記のような比較をします。

1 -eq 1

この場合、等しいので True が返ります。

下記のような場合、大文字と小文字を区別しません。

"abc" -eq "ABC"

従って、これも True が返ります。

比較演算子(like と match)

こちらも比較演算子なんですが、文字列のみに使うものです。

  • -like → ワイルドカードを使った文字列が一致するか比較(一致すれば True)
  • -notlike → ワイルドカードを使った文字列が一致しないか比較(一致しなければ True)
  • -match → 正規表現を使った文字列が一致するか比較(一致すれば True)
  • -notmatch → 正規表現を使った文字列が一致しないか比較(一致しなければ True)

キャスト演算子

指定した型にキャストすることができます。

下記のような使い方をします。

$a = [int]1.2

この場合、int(整数型)にキャストされ、小数部分が切り捨てられます。

【番外編】PSCustomObject について

PowerShell には、特殊な型が存在します。

PSCustomObject も型の一つです。

例えば、連想配列を使って任意のオブジェクト(カスタムオブジェクト)を作成することができます。

連想配列は順不同という性質があるのですが、PSCustomObject でキャストすれば、順序が保証されます。

詳しくは、次回紹介します。

最後に

いかがでしょうか。

基本的な部分なので退屈かもしれませんが、コツコツやっていきます。

今回は、演算子について、解説しました。

次回は、配列についてです。

女性

【PowerShell講座】配列について

2019年2月4日

PowerShell は、コマンドプロンプトと違って配列も使えるのです。

PSCustomObject でキャストする例も紹介したいと思っています。