Ahoj všichni
Vítejte v CloudAffaire a tady Debjeet.
V minulém příspěvku jsme se zabývali rutinou Tee-Object v PowerShellu.
V tomto příspěvku se budeme zabývat rutinou Compare-Object v PowerShellu. Pomocí rutiny Compare-Object můžete porovnat dva objekty, kde jedna sada objektů je zdrojová neboli referenční a druhá sada objektů je cílová neboli rozdílová. Rutina Compare-Object se pokusí porovnat objekty na základě všech porovnávacích metod, které na objektu najde. Pokud nenajde žádný srovnávací objekt, provede řetězcové srovnání převedením objektu na řetězec. Můžete také předat jednu nebo více vlastností pro porovnání, pokud jsou předány vlastnosti, porovnání se provede pouze na základě těchto vlastností.
Výstup rutiny Porovnat-Objekt:
- (<=): hodnota vlastnosti se objevila pouze v referenčním objektu
- (=>): hodnota vlastnosti se objevila pouze v rozdílovém objektu
- (==): Hodnota vlastnosti se objevila jak v referenčním objektu, tak v rozdílovém objektu
Poznámka: Pokud jsou referenční nebo rozdílové objekty nulové ($null), funkce Compare-Object vygeneruje chybu.
Syntaxe příkazu Compare-Object:
1
2
3
4
5
6
7
8
9
10
11
|
## Porovnat-Objekt
## <PSObject>
## <PSObject>
##
## >]
##
##
##
##
##
##
|
Compare-Object Cmdlet Seznam argumentů:
- -CaseSensitive:
- -Culture:
- -DifferenceObject:
- -ExcludeDifferent: Určuje, že tato rutina zobrazí pouze vlastnosti porovnávaných objektů, které jsou stejné. Rozdíly mezi objekty jsou vyřazeny.
- -IncludeEqual: IncludeEqual zobrazí shody mezi referenčními a rozdílovými objekty.
- -PassThru: Když použijete parametr PassThru, Compare-Object vynechá obal PSCustomObject kolem porovnávaných objektů a vrátí rozdílné objekty beze změny.
- -Property:
- -ReferenceObject: Určuje pole objektů použitých jako reference pro porovnání.
- -SyncWindow: Určuje počet sousedních objektů, které Compare-Object kontroluje při hledání shody v kolekci objektů.
Kommdlet Compare-Object prostředí PowerShell:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
##########################################
## PowerShell | Cmdlet | Compare-Object ##
##########################################
## PowerShell Nejnovější verze (5)
## deklaruje dvě pole s datovým typem string
$a = „cat“, „krysa“, „pes“, „člověk“
$b = „jablko“, „banán“, „pes“, „mango“
## porovnání dvou objektů v prostředí PowerShell
Compare-Object -ReferenceObject $a -DifferenceObject $b
## porovnání dvou objektů v prostředí PowerShell s rozlišováním velikosti písmen
Compare-Object -ReferenceObject $a -DifferenceObject $b -CaseSensitive
## porovnání dvou objektů v PowerShellu a zobrazení rozdílu a podobnosti
Compare-Object -ReferenceObject $a -DifferenceObject $b -.IncludeEqual
## porovnání dvou objektů v PowerShellu a zobrazení toho, co je společné
Compare-Object -ReferenceObject $a -DifferenceObject $b -IncludeEqual -ExcludeDifferent
## porovnat dva objekty v PowerShellu na základě konkrétní vlastnosti objektu
Compare-Object -ReferenceObject $a -DifferenceObject $b -Property length
|
Snad se vám tento článek líbil. V příštím příspěvku se budeme zabývat rutinou Add-Content v prostředí PowerShell.
Chcete-li získat další podrobnosti o prostředí PowerShell, sledujte laskavě níže uvedenou oficiální dokumentaci
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about?view=powershell-5.1
.