Measure-Object
Vypočítá číselné vlastnosti objektů a znaky, slova a řádky v řetězcových objektech, jako jsou soubory textu.
Syntax
GenericMeasure (Výchozí)
Measure-Object
[[-Property] <PSPropertyExpression[]>]
[-InputObject <PSObject>]
[-StandardDeviation]
[-Sum]
[-AllStats]
[-Average]
[-Maximum]
[-Minimum]
[<CommonParameters>]
TextMeasure
Measure-Object
[[-Property] <PSPropertyExpression[]>]
[-InputObject <PSObject>]
[-Line]
[-Word]
[-Character]
[-IgnoreWhiteSpace]
[<CommonParameters>]
Description
Rutina Measure-Object vypočítá hodnoty vlastností určitých typů objektů.
Measure-Object provádí tři typy měření v závislosti na parametrech příkazu.
Rutina Measure-Object provádí výpočty s hodnotami vlastností objektů. Pomocí Measure-Object můžete spočítat objekty nebo spočítat objekty se zadaným Vlastnost. Pomocí Measure-Object můžete také vypočítat minimální, maximální, součet, StandardDeviation a Průměrné číselných hodnot. Pro objekty String můžete také použít Measure-Object ke spočítání počtu řádků, slov a znaků.
Příklady
Příklad 1: Počítání souborů a složek v adresáři
Tento příkaz spočítá soubory a složky v aktuálním adresáři.
Get-ChildItem | Measure-Object
Příklad 2: Měření souborů v adresáři
Tento příkaz zobrazí Minimální, Maximálnía Součet velikostí všech souborů v aktuálním adresáři a průměrnou velikost souboru v adresáři.
Get-ChildItem | Measure-Object -Property length -Minimum -Maximum -Sum -Average
Příklad 3: Měření textu v textovém souboru
Tento příkaz zobrazí počet znaků, slov a řádků v souboru Text.txt.
Bez parametru RawGet-Content vypíše soubor jako pole řádků.
První příkaz používá Set-Content k přidání výchozího textu do souboru.
"One", "Two", "Three", "Four" | Set-Content -Path C:\Temp\tmp.txt
Get-Content C:\Temp\tmp.txt | Measure-Object -Character -Line -Word
Lines Words Characters Property
----- ----- ---------- --------
4 4 15
Příklad 4: Měření objektů obsahujících zadanou vlastnost
Tento příklad spočítá počet objektů, které mají DisplayName vlastnost. První dva příkazy načítají všechny služby a procesy na místním počítači. Třetí příkaz spočítá kombinovaný počet služeb a procesů. Poslední příkaz kombinuje dvě kolekce a kanály výsledek Measure-Object.
Objekt System.Diagnostics.Process nemá vlastnost DisplayName a je vynecháno z konečného počtu.
$services = Get-Service
$processes = Get-Process
$services + $processes | Measure-Object
$services + $processes | Measure-Object -Property DisplayName
Count : 682
Average :
Sum :
Maximum :
Minimum :
Property :
Count : 290
Average :
Sum :
Maximum :
Minimum :
Property : DisplayName
Příklad 5: Měření obsahu souboru CSV
Tento příkaz vypočítá průměrné roky služby zaměstnanců společnosti.
Soubor ServiceYrs.csv je soubor CSV, který obsahuje počet zaměstnanců a roky služby každého zaměstnance. První řádek tabulky je řádek záhlaví EmpNo, Roky.
Pokud k importu souboru použijete Import-Csv, výsledkem je PSCustomObject s poznámkami vlastnosti EmpNo a Years.
Pomocí Measure-Object můžete vypočítat hodnoty těchto vlastností stejně jako jakoukoli jinou vlastnost objektu.
Import-Csv d:\test\serviceyrs.csv | Measure-Object -Property years -Minimum -Maximum -Average
Příklad 6: Měření logických hodnot
Tento příklad ukazuje, jak Measure-Object může měřit logické hodnoty.
V tomto případě používá PSIsContainerBoolean vlastnost k měření výskytu složek (vs. souborů) v aktuálním adresáři.
Get-ChildItem | Measure-Object -Property psiscontainer -Maximum -Sum -Minimum -Average
Count : 126
Average : 0.0634920634920635
Sum : 8
Maximum : 1
Minimum : 0
StandardDeviation :
Property : PSIsContainer
Příklad 7: Řetězce měr
Následující příklad měří počet řádků, nejprve jeden řetězec a pak napříč několika řetězci. Znak nového řádku `n odděluje řetězce do více řádků.
# The newline character `n separates the string into separate lines, as shown in the output.
"One`nTwo`nThree"
"One`nTwo`nThree" | Measure-Object -Line
One
Two
Three
Lines Words Characters Property
----- ----- ---------- --------
3
# The first string counts as a single line.
# The second string is separated into two lines by the newline character.
"One", "Two`nThree" | Measure-Object -Line
Lines Words Characters Property
----- ----- ---------- --------
3
# The Word switch counts the number of words in each InputObject
# Each InputObject is treated as a single line.
"One, Two", "Three", "Four Five" | Measure-Object -Word -Line
Lines Words Characters Property
----- ----- ---------- --------
3 5
Příklad 8: Měření všech hodnot
Počínaje PowerShellem 6 vám parametr AllStatsMeasure-Object umožňuje měřit všechny statistiky společně.
1..5 | Measure-Object -AllStats
Count : 5
Average : 3
Sum : 15
Maximum : 5
Minimum : 1
StandardDeviation : 1.58113883008419
Property :
Příklad 9: Měření pomocí vlastností scriptblock
Počínaje PowerShellem 6 Measure-Object podporuje vlastnosti ScriptBlock. Následující příklad ukazuje, jak použít ScriptBlock vlastnost určit velikost v MegaBytes všech souborů v adresáři.
Get-ChildItem | Measure-Object -Sum {$_.Length/1MB}
Příklad 10: Měření hashovatelných tabulek
Počínaje PowerShellem 6 Measure-Object podporuje měření hashovatelného vstupu. Následující příklad určuje největší hodnotu klíče num 3 hashtable objekty.
@{num=3}, @{num=4}, @{num=5} | Measure-Object -Maximum Num
Count : 3
Average :
Sum :
Maximum : 5
Minimum :
StandardDeviation :
Property : num
Příklad 11: Měření směrodatné odchylky
Počínaje PowerShellem 6 Measure-Object podporuje -StandardDeviation parametr. Následující příklad určuje směrodatnou odchylku procesoru používaného všemi procesy. Velká odchylka značí malý počet procesů, které spotřebovávají nejvíce procesoru.
Get-Process | Measure-Object -Average -StandardDeviation CPU
Count : 303
Average : 163.032384488449
Sum :
Maximum :
Minimum :
StandardDeviation : 859.444048419069
Property : CPU
Příklad 12: Míra pomocí zástupných znaků
Počínaje PowerShellem 6 Measure-Object podporuje měření objektů pomocí zástupných znaků v názvech vlastností. Následující příklad určuje maximální počet typů stránkované paměti využití mezi sadou procesů.
Get-Process | Measure-Object -Maximum *paged*memory*size
Count : 303
Average :
Sum :
Maximum : 735784
Minimum :
StandardDeviation :
Property : NonpagedSystemMemorySize
Count : 303
Average :
Sum :
Maximum : 352104448
Minimum :
StandardDeviation :
Property : PagedMemorySize
Count : 303
Average :
Sum :
Maximum : 2201968
Minimum :
StandardDeviation :
Property : PagedSystemMemorySize
Count : 303
Average :
Sum :
Maximum : 719032320
Minimum :
StandardDeviation :
Property : PeakPagedMemorySize
Parametry
-AllStats
Označuje, že rutina zobrazí všechny statistiky zadaných vlastností.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
GenericMeasure
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Average
Označuje, že rutina zobrazuje průměrnou hodnotu zadaných vlastností.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
GenericMeasure
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Character
Označuje, že rutina spočítá počet znaků ve vstupních objektech.
Poznámka:
Word, Char a Line přepne počet uvnitř každého vstupního objektu a také napříč vstupními objekty. Viz příklad 7.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
TextMeasure
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-IgnoreWhiteSpace
Označuje, že rutina ignoruje prázdné znaky v počtu znaků. Ve výchozím nastavení není prázdné znaky ignorovány.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
TextMeasure
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-InputObject
Určuje objekty, které se mají měřit. Zadejte proměnnou, která obsahuje objekty, nebo zadejte příkaz nebo výraz, který objekty získá.
Pokud použijete inputObject parametr s Measure-Object, místo piping command výsledky do Measure-Object, InputObject hodnota je považována za jeden objekt.
Pokud chcete měřit kolekci objektů na základě toho, zda mají objekty určité hodnoty v definovaných vlastnostech, doporučujeme použít Measure-Object v kanálu.
Vlastnosti parametru
| Typ: | PSObject |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Line
Označuje, že rutina spočítá počet řádků ve vstupních objektech.
Poznámka:
Word, Char a Line přepne počet uvnitř každého vstupního objektu a také napříč vstupními objekty. Viz příklad 7.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
TextMeasure
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Maximum
Označuje, že rutina zobrazuje maximální hodnotu zadaných vlastností.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
GenericMeasure
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Minimum
Označuje, že rutina zobrazí minimální hodnotu zadaných vlastností.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
GenericMeasure
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Property
Určuje jednu nebo více vlastností, které se mají měřit. Pokud nezadáte žádné jiné míry, Measure-Object spočítá objekty, které mají zadané vlastnosti.
Hodnota parametru Vlastnost může být nově vypočítaná vlastnost. Počítaná vlastnost musí být blok skriptu. Další informace naleznete v dokumentaci about_Calculated_Properties.
Vlastnosti parametru
| Typ: | |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
(All)
| Position: | 0 |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-StandardDeviation
Označuje, že rutina zobrazuje směrodatnou odchylku hodnot zadaných vlastností.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
GenericMeasure
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Sum
Označuje, že rutina zobrazí součet hodnot zadaných vlastností.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
GenericMeasure
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Word
Označuje, že rutina spočítá počet slov ve vstupních objektech.
Poznámka:
Word, Char a Line přepne počet uvnitř každého vstupního objektu a také napříč vstupními objekty. Viz příklad 7.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
TextMeasure
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
PSObject
Objekty můžete předávat tomuto cmdletu.
Výstupy
GenericMeasureInfo
Ve výchozím nastavení vrátí tato rutina objekt GenericMeasureInfo.
TextMeasureInfo
Pokud použijete parametr wordového, vrátí tato rutina objekt TextMeasureInfo.
Poznámky
PowerShell obsahuje následující aliasy pro Measure-Object:
- Všechny platformy:
measure
Počínaje PowerShellem 7.3 Measure-Object již nevrátí chybu při zpracování objektu, který chybí měřenou vlastnost, pokud neběžíte v StrictMode. V StrictMode, Measure-Object vrátí System.Management.Automation.PSArgumentException při zpracování objektu, který chybí zadaná vlastnost.