2 セットのオブジェクトを比較します。
構文
Compare-Object [-ReferenceObject] <PSObject[]> [-DifferenceObject] <PSObject[]> [-CaseSensitive] [-Culture <string>] [-ExcludeDifferent] [-IncludeEqual] [-PassThru] [-Property <Object[]>] [-SyncWindow <int>] [<CommonParameters>]
説明
Compare-Object コマンドレットは 2 セットのオブジェクトを比較します。Reference のセットと Difference のセットです。
比較の結果は、プロパティ値が Reference セットのオブジェクトにのみ存在する (<= 記号で示されます)、Difference セットのオブジェクトにのみ存在する (=> 記号で示されます)、または IncludeEqual パラメーターが指定されている場合は両方のオブジェクトに存在する (== 記号で示されます) のいずれかを示します。
パラメーター
-CaseSensitive
比較されるときに、大文字と小文字が区別されることを示します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-Culture <string>
比較に使用するカルチャを指定します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-DifferenceObject <PSObject[]>
Reference オブジェクトと比較するオブジェクトを指定します。
必須 |
true |
位置 |
2 |
既定値 |
|
パイプライン入力を許可する |
true (ByValue) |
ワイルドカード文字を許可する |
false |
-ExcludeDifferent
比較されるオブジェクトの特性で等しいものだけを表示します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-IncludeEqual
比較されるオブジェクトの特性で等しいものを表示します。既定では、Reference オブジェクトと Difference オブジェクトの間で異なる特性のみが表示されます。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-PassThru
異なるオブジェクトをパイプラインに渡します。既定では、このコマンドレットによる出力はありません。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-Property <Object[]>
比較する Reference オブジェクトと Difference オブジェクトのプロパティを指定します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-ReferenceObject <PSObject[]>
比較の参照として使用されるオブジェクト。
必須 |
true |
位置 |
1 |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-SyncWindow <int>
一致していない場合に順序の再同期を試みる検索領域を定義します。既定値は [Int32]::MaxValue です。
必須 |
false |
位置 |
named |
既定値 |
[Int32]::MaxValue |
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。Ô”¼š¤Ë¤Ä¤¤¤Æ¤Ï¡¢次を参照してください: about_Commonparameters.
入力と出力
入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。
入力 |
System.Management.Automation.PSObject パイプを使用して DifferenceObject オブジェクトを Compare-Object に渡すことができます。 |
出力 |
なし、または異なるオブジェクト PassThru パラメーターを使用すると、Compare-Object は異なるオブジェクトを返します。それ以外の場合、このコマンドレットによる出力はありません。 |
例 1
C:\PS>compare-object -referenceobject $(get-content C:\test\testfile1.txt) -differenceobject $(get-content C:\test\testfile2.txt) 説明 ----------- このコマンドは、2 つのテキスト ファイルの内容を比較します。両方のファイルには含まれていないが、どちらか一方のファイルに含まれている行のみを表示します。
例 2
C:\PS>compare-object -referenceobject $(get-content C:\Test\testfile1.txt) -differenceobject $(get-content C:\Test\testfile2.txt) -includeequal 説明 ----------- このコマンドは、2 つのテキスト ファイルの各行の内容を比較します。両方のファイルのすべての行を表示し、各行が Textfile1.txt または Textfile2.txt にのみ含まれるのか、両方のファイルに含まれているのかを示します。
例 3
C:\PS>$processes_before = get-process C:\PS> notepad C:\PS> $processes_after = get-process C:\PS> compare-object -referenceobject $processes_before -differenceobject $processes_after 説明 ----------- これらのコマンドは、2 つのプロセス オブジェクトのセットを比較します。 最初のコマンドは、Get-Process コマンドレットを使用してコンピューター上のプロセスを取得します。これは $processes_before 変数に保存されます。 2 番目のコマンドは、Notepad を起動します。 3 番目のコマンドは再び Get-Process コマンドレットを使用し、取得されたプロセスを $processes_after 変数に保存します。 4 番目のコマンドは、Compare-Object コマンドレットを使用してプロセス オブジェクトの 2 つのセットを比較します。2 つのセット間の相違点を表示します。これには Notepad の新しいインスタンスが含まれます。
関連項目