다음을 통해 공유


Compare-Object

두 개체 집합을 비교합니다.

구문

Compare-Object [-ReferenceObject] <PSObject[]> [-DifferenceObject] <PSObject[]> [-CaseSensitive] [-Culture <string>] [-ExcludeDifferent] [-IncludeEqual] [-PassThru] [-Property <Object[]>] [-SyncWindow <int>] [<CommonParameters>]

설명

Compare-Object cmdlet은 두 개체 집합을 비교합니다. 한 개체 집합은 참조 집합이고 다른 개체 집합은 차이 집합입니다.

비교 결과는 속성 값이 참조 집합(<= 기호로 표시)의 개체에만 나타나는지, 차이 집합(=> 기호로 표시)의 개체에만 나타나는지, 또는 IncludeEqual 매개 변수가 두 개체(== 기호로 표시) 모두에 지정되는지 여부를 나타냅니다.

매개 변수

-CaseSensitive

비교할 때는 대/소문자를 구분해야 한다는 것을 나타냅니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Culture <string>

비교할 때 사용할 culture를 지정합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-DifferenceObject <PSObject[]>

참조 개체와 비교할 개체를 지정합니다.

필수 여부

true

위치

2

기본값

파이프라인 입력 적용 여부

true (ByValue)

와일드카드 문자 적용 여부

false

-ExcludeDifferent

동일한 비교 개체의 특징만 표시합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-IncludeEqual

동일한 비교 개체의 특징을 표시합니다. 기본적으로 참조 개체와 차이 개체 간에 서로 다른 특징만 표시됩니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-PassThru

비교한 개체를 파이프라인으로 전달합니다. 기본적으로 이 cmdlet에서는 출력을 생성하지 않습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Property <Object[]>

비교할 참조 개체와 차이 개체의 속성을 지정합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-ReferenceObject <PSObject[]>

비교할 때 참조로 사용되는 개체입니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-SyncWindow <int>

일치하는 항목이 없는 경우에 순서를 다시 동기화하도록 시도할 검색 영역을 정의합니다. 기본값은 [Int32]::MaxValue입니다.

필수 여부

false

위치

named

기본값

[Int32]::MaxValue

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

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

C:\PS>compare-object -referenceobject $(get-content C:\Test\testfile1.txt) -differenceobject $(get-content C:\Test\testfile2.txt) -includeequal

설명
-----------
이 명령은 두 텍스트 파일 내용을 줄별로 비교합니다. 두 파일 내용의 모든 줄을 표시하여 각 줄이 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

설명
-----------
이들 명령은 두 프로세스 개체 집합을 비교합니다. 

첫 번째 명령은 Get-Process cmdlet을 사용하여 컴퓨터의 프로세스를 가져옵니다. 그런 다음 해당 프로세스를 $processes_before 변수에 저장합니다. 

두 번째 명령은 메모장을 시작합니다.

세 번째 명령은 Get-Process cmdlet을 다시 시작하여 결과 프로세스를 $processes_after 변수에 저장합니다. 

네 번째 명령은 Compare-Object cmdlet을 사용하여 두 프로세스 개체 집합을 비교하고 그 차이를 표시합니다. 여기에는 메모장의 새 인스턴스가 포함됩니다.





참고 항목

개념

Group-Object
Measure-Object
Sort-Object
ForEach-Object
New-Object
Select-Object
Tee-Object
Where-Object