ja-JP/about_Operators.help.txt
|
TOPIC about_Operators 簡単な説明 PowerShell でサポートされている演算子について説明します。 詳細な説明 演算子は、値を計算したり、値を比較したり、コマンドの出力を別の コマンドへ渡したりするために使用する言語要素です。PowerShell は いくつかの種類の演算子を提供します。以下に種類ごとに説明します。 算術演算子 記号: + - * / % 算術演算子は、コマンドや式の中で値を計算するために使用します。 これらの演算子を使うと、値の加算、減算、乗算、除算を行ったり、 除算の剰余 (モジュロ) を計算したりできます。 加算演算子 (+) は要素を連結します。乗算演算子 (*) は要素を 指定した数だけ複製して返します。 ビット演算子 (-band, -bor, -bxor, -bnot, -shl, -shr) は、値の ビットパターンを操作します。 詳細は about_Arithmetic_Operators を参照してください。 代入演算子 記号: = += -= *= /= %= 代入演算子は、変数への値の代入、変更、追加を行うために使用します。 算術演算子と代入演算子を組み合わせて、算術演算の結果を変数に 代入することもできます。 詳細は about_Assignment_Operators を参照してください。 比較演算子 記号: -eq -ne -gt -lt -le -ge 比較演算子は、値を比較して条件をテストするために使用します。 たとえば、2 つの文字列値を比較して等しいかどうかを判定できます。 -eq 等しい -ne 等しくない -gt より大きい -ge 以上 -lt より小さい -le 以下 パターンマッチング演算子 (-match, -notmatch, -replace) は 正規表現を使用します。 ワイルドカード演算子 (-like, -notlike) は、* や ? などの ワイルドカードを使用します。 包含演算子 (-in, -notin, -contains, -notcontains) は、テスト値が 参照セットに含まれるかどうかを判定します。 型比較演算子 (-is, -isnot) は、オブジェクトが指定した型かどうかを 判定します。 詳細は about_Comparison_Operators を参照してください。 論理演算子 記号: -and -or -xor -not ! 論理演算子は、条件文を 1 つの複雑な条件にまとめるために 使用します。たとえば、論理 -and 演算子を使って 2 つの異なる 条件を持つオブジェクトフィルターを作成できます。 詳細は about_Logical_Operators を参照してください。 リダイレクト演算子 記号: > >> 2> 2>> 2>&1 リダイレクト演算子は、コマンドや式の出力をテキストファイルへ 送るために使用します。リダイレクト演算子は (パラメーターを 指定しない) Out-File コマンドレットと同様に動作しますが、 エラー出力を指定したファイルへリダイレクトすることもできます。 詳細は about_Redirection を参照してください。 分割演算子と結合演算子 記号: -split -join -split 演算子は文字列を複数の部分文字列に分割します。-join 演算子は複数の文字列を 1 つの文字列に連結します。 詳細は about_Split および about_Join を参照してください。 型演算子 記号: -is -isnot -as 型演算子は、オブジェクトの .NET 型を調べたり変更したりする ために使用します。 詳細は about_Type_Operators を参照してください。 単項演算子 記号: ++ -- - 単項の ++ 演算子と -- 演算子は値をインクリメントまたは デクリメントするために使用し、- は符号反転に使用します。 たとえば、変数 $a を 9 から 10 へインクリメントするには $a++ と入力します。 特殊演算子 特殊演算子は、他の演算子の種類に当てはまらない特定の用途に 使用します。 グループ化演算子 ( ) 式の中で演算子の優先順位を上書きします。 例: (1 + 2) / 3 パイプラインの先頭で式をかっこで囲むと、式の結果が 常に列挙されます。 代入文をかっこで囲むと、代入された変数の値が引き継がれ、 より大きな式の中で使用できます。 ($var = 1 + 2) # 結果は 3 ($var = 1 + 2) -eq 3 # 結果は True サブ式演算子 $( ) 1 つ以上の文の結果を返します。単一の結果の場合はスカラー値を 返し、複数の結果の場合は配列を返します。式の中で別の式を 使いたいときに使用します。文字列内で式を展開する用途に よく使われます。 "今日は $(Get-Date)" 配列サブ式演算子 @( ) 1 つ以上の文の結果を配列として返します。結果は常に 0 個以上のオブジェクトを含む配列になります。 $list = @(Get-Process) ハッシュテーブルリテラル構文 @{} 配列サブ式と似ていますが、この構文はハッシュテーブルを 宣言するために使用します。 呼び出し演算子 & コマンド、スクリプト、スクリプトブロックを実行します。 呼び出し演算子 (起動演算子とも呼ばれます) を使うと、変数に 格納され、文字列やスクリプトブロックで表されたコマンドを 実行できます。呼び出し演算子は子スコープで実行されます。 $c = "Get-ExecutionPolicy" & $c バックグラウンド演算子 & 直前のパイプラインを PowerShell ジョブとしてバックグラウンドで 実行します。この演算子は Start-Job と機能的に同等です。 Job オブジェクトを返し、Receive-Job や Remove-Job と 組み合わせて使用できます。 Get-Process -Name pwsh & キャスト演算子 [ ] オブジェクトを指定した型に変換または制限します。変換できない 場合、PowerShell はエラーを生成します。 [datetime] '2/20/88' コンマ演算子 , 二項演算子として使うと配列を作成、または作成中の配列に要素を 追加します。式モードで単項演算子として使うと、要素を 1 つだけ 持つ配列を作成します。 $myArray = 1,2,3 $single = ,1 ドットソース演算子 . スクリプトを現在のスコープで実行します。これにより、 スクリプトが作成する関数、エイリアス、変数が現在のスコープに 追加されます。 . C:\scripts\sample.ps1 書式演算子 -f .NET の複合書式設定機能へのアクセスを提供します。複合書式 文字列は、固定テキストと、書式項目と呼ばれるインデックス付きの プレースホルダーで構成されます。 "{0} {1,-10} {2:N}" -f 1,"hello",[Math]::PI インデックス演算子 [ ] 配列やハッシュテーブルなどのインデックス付きコレクションから オブジェクトを選択します。配列のインデックスは 0 から始まる ため、最初のオブジェクトは [0] で参照します。 $a = 1, 2, 3 $a[0] # 1 $a[-1] # 3 パイプライン演算子 | 直前のコマンドの出力を、後続のコマンドへ渡します。出力が複数の オブジェクト (コレクション) の場合、パイプライン演算子は オブジェクトを 1 つずつ渡します。 Get-Process | Get-Member パイプラインチェーン演算子 && と || 左側のパイプラインの成功または失敗に基づいて、右側の パイプラインを条件付きで実行します。&& は左側が成功した場合に、 || は左側が失敗した場合に右側を実行します。 Get-Process notepad && Stop-Process -Name notepad npm install || Remove-Item -Recurse ./node_modules 範囲演算子 .. 連続する整数または文字の配列を表すために使用します。範囲 演算子でつないだ値が、範囲の開始値と終了値を定義します。 1..10 'a'..'f' メンバーアクセス演算子 . オブジェクトのプロパティとメソッドにアクセスします。メンバー名 は式にすることもできます。存在しないプロパティを読み取ろうと した場合や、プロパティの getter メソッドが例外をスローした 場合、PowerShell はエラーをスローせずに $null を返します。 (Get-Process powershell).Kill() 静的メンバー演算子 :: .NET クラスの静的プロパティとメソッドを呼び出します。静的 メンバーを調べるには、Get-Member コマンドレットの -Static パラメーターを使用します。 [datetime]::Now 三項演算子 ? <真の場合> : <偽の場合> 単純な条件分岐において、if-else 文の代わりとして使用できます。 $message = (Test-Path $path) ? "見つかった" : "見つからない" null 合体演算子 ?? 左側のオペランドが null でない場合はその値を返します。それ以外 の場合は右側のオペランドを評価して結果を返します。左側が null でない場合、右側のオペランドは評価されません。 $x = $null $x ?? 100 # 結果は 100 null 合体代入演算子 ??= 左側のオペランドが null と評価される場合にのみ、右側の オペランドの値を左側のオペランドに代入します。左側が null で ない場合、右側のオペランドは評価されません。 $x = $null $x ??= 100 $x # 結果は 100 null 条件演算子 ?. と ?[] メンバーアクセス (?.) または要素アクセス (?[]) の操作を、 オペランドが null でない場合にのみ適用します。null の場合は null を返します。PowerShell では ? が変数名の一部になり得る ため、これらの演算子を使うときは ${a} のように変数名を中かっこ で囲む必要があります。 ${a}?.PropName ${a}?[0] 関連項目 about_Arithmetic_Operators about_Assignment_Operators about_Comparison_Operators about_Logical_Operators about_Operator_Precedence about_Type_Operators about_Split about_Join about_Redirection ---- 原文: PowerShell-Docs (CC BY 4.0) の翻訳 / PSHelpJaJP |