PowerShellコマンドレット虎の巻

Compare-Object

Compare-Objectは、オブジェクトを比較するコマンドです。

エイリアスdiff、compare

解説

2つのオブジェクトセットを比較し、それらの違いを特定するために使用します。
比較には、配列、ハッシュテーブル、カスタムオブジェクトなどを指定できます。

構文

(構文)
Compare-Object [-ReferenceObject] <psobject[]> [-DifferenceObject] <psobject[]> [<CommonParameters>]
【主要パラメータ】
パラメータ説明
-ReferenceObject オブジェクト配列比較の基準となるオブジェクトの配列を指定する
(例)Compare-Object -ReferenceObject $array1 -DifferenceObject $array2
-DifferenceObject オブジェクト配列比較対象のオブジェクトの配列を指定する
(例) Compare-Object -ReferenceObject $array1 -DifferenceObject $array2
-SyncWindow 数比較する際に、隣接するオブジェクトの数を指定する
※デフォルトは[Int32]::MaxValue
(例)Compare-Object -ReferenceObject $array1 -DifferenceObject $array2 -SyncWindow 2
-Property プロパティ比較に使用するプロパティを指定する
※指定しない場合はオブジェクト全体が比較される
(例)Compare-Object -ReferenceObject $array1 -DifferenceObject $array2 -Property "Name", "ID"
-ExcludeDifferent両方のオブジェクトセットに存在しない異なるオブジェクトを除外する
(例)Compare-Object -ReferenceObject $array1 -DifferenceObject $array2 -ExcludeDifferent
-IncludeEqual同じ値を持つオブジェクトも結果に含める
-PassThru通常は出力しない値を出力るようにする
-Culture カルチャ比較に使用するカルチャを指定する
※デフォルト:現在のカルチャ
(例)Compare-Object -ReferenceObject $array1 -DifferenceObject $array2 -Culture "en-US"
-CaseSensitive大文字と小文字を区別して比較する
(例)Compare-Object -ReferenceObject $array1 -DifferenceObject $array2 -CaseSensitive

共通的なパラメータは「共通パラメータ」をご覧ください。

サンプル

配列を比較する

$array1 = 1, 2, 3, 4, 5 $array2 = 3, 4, 5, 6, 7 Compare-Object -ReferenceObject $array1 -DifferenceObject $array2

(実行結果)

InputObject SideIndicator ----------- ------------- 6 => 7 => 1 <= 2 <=

オブジェクトを比較する

$obj1 = [PSCustomObject]@{ Name = "Orange"; Price = 50 } $obj2 = [PSCustomObject]@{ Name = "Apple"; Price = 200 } Compare-Object -ReferenceObject $obj1 -DifferenceObject $obj2 -Property Name

(実行結果)

Name SideIndicator ---- ------------- Apple => Orange <=

比較結果のオブジェクトをそのまま出力する

$array1 = 1, 2, 3, 4, 5 $array2 = 3, 4, 5, 6, 7 Compare-Object -ReferenceObject $array1 -DifferenceObject $array2 -PassThru

(実行結果)

6 7 1 2

コマンドのヘルプを表示する

Get-Help Compare-Object

備考

  • Compare-Objectはオブジェクトの順序に依存しません。
  • 比較するオブジェクトの型は一致している必要があります。

関連項目