Measure-Object
Vypočítá číselné vlastnosti objektů a znaky, slova a řádky v řetězcových objektech, jako jsou soubory textu.
Syntaxe
Measure-Object
[[-Property] <PSPropertyExpression[]>]
[-InputObject <PSObject>]
[-StandardDeviation]
[-Sum]
[-AllStats]
[-Average]
[-Maximum]
[-Minimum]
[<CommonParameters>]
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 v příkazu.
Rutina Measure-Object
provádí výpočty s hodnotami vlastností objektů. Pomocí této funkce můžete Measure-Object
spočítat objekty nebo spočítat objekty se zadanou vlastností. Můžete také použít Measure-Object
k výpočtu hodnoty Minimum, Maximum, Sum, StandardDeviation a Průměr číselných hodnot. U objektů String můžete také spočítat Measure-Object
počet řá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 Get-Content
Raw vypíše soubor jako pole řádků.
První příkaz použije 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 na 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 v tabulce je řádek záhlaví EmpNo, Years.
Import-Csv
Při importu souboru je výsledkem PSCustomObject s poznámkami vlastnosti EmpNo a Years.
Můžete použít Measure-Object
k výpočtu hodnot těchto vlastností, stejně jako jakékoli jiné vlastnosti 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
lze měřit logické hodnoty.
V tomto případě používá vlastnost PSIsContainer Boolean 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 `n
nového řádku 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 umožňuje parametr Measure-Object
AllStats 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šechny soubory 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í hodnot hashovatelného vstupu. Následující příklad určuje největší hodnotu klíče num
3 hashtable objektů.
@{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í.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Average
Označuje, že rutina zobrazuje průměrnou hodnotu zadaných vlastností.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Character
Označuje, že rutina spočítá počet znaků ve vstupních objektech.
Poznámka:
Přepínače Word, Char a Line se počítají uvnitř každého vstupního objektu i mezi vstupními objekty. Viz příklad 7.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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 změřit kolekci objektů na základě toho, jestli mají objekty konkrétní hodnoty v definovaných vlastnostech, doporučujeme použít Measure-Object
v kanálu.
Typ: | PSObject |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Line
Označuje, že rutina spočítá počet řádků ve vstupních objektech.
Poznámka:
Přepínače Word, Char a Line se počítají uvnitř každého vstupního objektu i mezi vstupními objekty. Viz příklad 7.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Maximum
Označuje, že rutina zobrazuje maximální hodnotu zadaných vlastností.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Minimum
Označuje, že rutina zobrazí minimální hodnotu zadaných vlastností.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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 Property může být nová počítaná vlastnost. Počítaná vlastnost musí být blok skriptu. Další informace najdete v tématu about_Calculated_Properties.
Typ: | PSPropertyExpression[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-StandardDeviation
Označuje, že rutina zobrazuje směrodatnou odchylku hodnot zadaných vlastností.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Sum
Označuje, že rutina zobrazí součet hodnot zadaných vlastností.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Word
Označuje, že rutina spočítá počet slov ve vstupních objektech.
Poznámka:
Přepínače Word, Char a Line se počítají uvnitř každého vstupního objektu i mezi vstupními objekty. Viz příklad 7.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
Objekty můžete do této rutiny pipetovat.
Výstupy
Ve výchozím nastavení vrátí tato rutina objekt GenericMeasureInfo .
Pokud používáte parametr Wordu , 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 již nevrátí chybu při zpracování objektu, který chybí měřenou vlastnost, Measure-Object
pokud neběžíte v StrictMode. V StrictMode vrátí Measure-Object
System.Management.Automation.PSArgumentException
při zpracování objektu, který chybí zadaná vlastnost.