about_Operators

適用対象: Windows PowerShell 2.0, Windows PowerShell 3.0

トピック

about_Operators

概要

Windows PowerShell でサポートされている演算子について説明します。

詳細説明

演算子は、コマンドまたは式で使用できる言語要素です。Windows PowerShell では、値を操作するためのさまざまなタイプの演算子がサポートされています。

算術演算子

算術演算子 (+、-、*、/、%) を使用して、コマンドまたは式の値を計算します。これらの演算子を使用して、値の加算、減算、乗算、除算を行い、除算の余り (法) を計算できます。

また、文字列、配列、およびハッシュ テーブルで算術演算子を使用することもできます。加算演算子は要素を連結します。乗算演算子は各要素の指定した数のコピーを返します。

詳細については、「about_Arithmetic_Operators」を参照してください。

代入演算子

代入演算子 (=、+=、-=、*=、/=、%=) を使用して、変数への 1 つ以上の値の割り当て、変数の値の変更、および変数への値の追加を行います。文字列や DateTime または Process 変数などの Microsoft .NET Framework データ型として変数をキャストすることもできます。

詳細については、「about_Assignment_Operators」を参照してください。

比較演算子

比較演算子 (-eq、-ne、-gt、-lt、-le、-ge) を使用して、値の比較や条件のテストを行います。たとえば、2 つの文字列値を比較して、それらが等しいかどうかを判断できます。

比較演算子には、正規表現を使用してパターンを検索するマッチ演算子 (-match、-notmatch)、正規表現を使用して入力値を変更する置換演算子 (-replace)、ワイルドカード文字 (*) を使用してパターンを検索するライク演算子 (-like、-notlike)、参照セットにテスト値が出現しているかどうかを判断する包含演算子 (-in、-notin、-contains、-notcontains) があります。

また、値のビット パターンを操作するビット演算子 (-bAND、-bOR、-bXOR、-bNOT) もあります。

詳細については、「about_Comparison_Operators」を参照してください。

論理演算子

論理演算子 (-and、-or、-xor、-not、!) を使用して、条件付きステートメントを連結し、1 つの複雑な条件にします。たとえば、-and 論理演算子を使用して、2 つの異なる条件を持つオブジェクト フィルターを作成できます。

詳細については、「about_Logical_Operators」を参照してください。

リダイレクト演算子

リダイレクト演算子 (>、>>、2>、2>、2>&1) を使用して、コマンドまたは式の出力をテキスト ファイルに送ります。リダイレクト演算子は Out-File コマンドレット (パラメーターなし) のように動作しますが、指定したファイルにエラー出力をリダイレクトすることもできます。また、出力のリダイレクトに、Tee-Object コマンドレットを使用することもできます。

詳細については、「about_Redirection」を参照してください。

分割演算子と結合演算子

-split 演算子と -join 演算子は、部分文字列を分割および結合します。–split 演算子は、文字列を部分文字列に分割します。-join 演算子は、複数の文字列を 1 つの文字列に連結します。

詳細については、「about_Split」と「about_Join」を参照してください。

型演算子

型演算子 (-is、-isnot、-as) を使用して、オブジェクトの .NET Framework 型を検索または変更します。

詳細については、「about_Type_Operators」を参照してください。

単項演算子

単項演算子を使用して、変数またはオブジェクト プロパティを増減したり、整数を正または負の数に設定します。たとえば、変数 $a を 9 から 10 に増やすには「$a++」と入力します。

特殊な演算子

特殊な演算子を使用して、他の種類の演算子では実行できないタスクを実行します。たとえば、特殊な演算子を使用すると、コマンドの実行や値のデータ型の変更などの操作を実行できます。

@( ) 配列部分式演算子

1 つ以上のステートメントの結果を配列として返します。項目が 1 つしかない場合、配列には 1 つのメンバーのみ含まれます。

             @(Get-WMIObject win32_logicalDisk)

& 呼び出し演算子

コマンド、スクリプト、またはスクリプト ブロックを実行します。呼び出し演算子 ("起動演算子" とも呼ばれる) では、変数に格納されたコマンドや文字列で示されたコマンドを実行できます。呼び出し演算子ではコマンドを解析しないため、コマンドのパラメーターを解釈することはできません。

             C:\PS> $c = "get-executionpolicy"
             C:\PS> $c
             get-executionpolicy
 
             C:\PS> & $c
             AllSigned

[ ] キャスト演算子

オブジェクトを指定した型に変換または制限します。オブジェクトを変換できない場合、Windows PowerShell によりエラーが生成されます。

             [datetime]$birthday = "1/20/88"
             [int64]$a = 34  

, コンマ演算子

コンマは、バイナリ演算子として配列を作成します。また、単項演算子として 1 つのメンバーを含む配列を作成します。メンバーの前にコンマを配置します。

             $myArray = 1,2,3 
             $SingleArray = ,1     

. ドット ソース演算子

現在のスコープでスクリプトを実行して、スクリプトで作成される関数、エイリアス、および変数が現在のスコープに追加されるようにします。

             . c:\scripts.sample.ps1

注記:ドット ソース演算子の後にはスペースを入力します。スペースを使用して、ドットと、現在のディレクトリを表すドット (.) 記号を区別します。

次の例では、現在のディレクトリにある Sample.ps1 スクリプトが現在のスコープで実行されます。

                 . .\sample.ps1

-f 書式設定演算子

文字列オブジェクトの書式設定メソッドを使用して、文字列を書式設定します。演算子の左側に書式設定文字列を入力し、演算子の右側に書式設定するオブジェクトを入力します。

             C:\PS> "{0} {1,-10} {2:N}" -f 1,"hello",[math]::pi
             1 hello      3.14

詳細については、「String.Format メソッド」(https://go.microsoft.com/fwlink/?LinkID=166450) および「複合書式指定」(https://go.microsoft.com/fwlink/?LinkID=166451) を参照してください。

[ ] インデックス演算子

配列やハッシュ テーブルなどのインデックス付きコレクションからオブジェクトを選択します。配列のインデックスは 0 から始まるため、最初のオブジェクトには [0] のインデックスが付けられます。配列では (配列のみ)、負の値のインデックスを使用して最後の値を取得することもできます。ハッシュ テーブルは、キーの値でインデックスが作成されます。

             C:\PS> $a = 1, 2, 3
             C:\PS> $a[0]
             1
             C:\PS> $a[-1]
             3


             C:\PS> (get-hotfix | sort installedOn)[-1]

           
             C:\PS> $h = @{key="value"; name="Windows PowerShell"; version="2.0"}
             C:\PS> $h["name"]
             Windows PowerShell


             C:\PS> $x = [xml]"<doc><intro>Once upon a time...</intro></doc>"
             C:\PS> $x["doc"]
             intro
             -----
             Once upon a time...

| パイプライン演算子

パイプラインの前にあるコマンドの出力をパイプラインの後にあるコマンドに渡します ("パイプ" します)。出力に複数のオブジェクト ("コレクション") が含まれる場合、パイプライン演算子はオブジェクトを 1 つずつ渡します。

               get-process | get-member
               get-pssnapin | where {$_.vendor -ne "Microsoft"}                              

. プロパティ逆参照演算子

オブジェクトのプロパティとメソッドにアクセスします。

             $myProcess.peakWorkingSet
             (get-process PowerShell).kill()

.. 範囲演算子

上限と下限が指定された連続する整数を整数の配列で表します。

             1..10
             10..1
             foreach ($a in 1..$max) {write-host $a}

:: 静的メンバー演算子

.NET Framework クラスの静的なプロパティ演算子とメソッドを呼び出します。オブジェクトの静的なプロパティとメソッドを検索するには、Get-Member コマンドレットの Static パラメーターを使用します。

             [datetime]::now
   

$( ) 部分式演算子

1 つ以上のステートメントの結果を返します。1 つの結果に対して、1 つのスカラーを返します。結果が複数の場合は、配列を返します。

             $($x * 23)
             $(Get-WMIObject win32_Directory)

関連項目

about_Arithmetic_Operators

about_Assignment_Operators

about_Comparison_Operators

about_Logical_Operators

about_Type_Operators

about_Split

about_Join

about_Redirection