Sdílet prostřednictvím


Measure-Object

Vypočítá číselné vlastnosti objektů a znaky, slova a řádky v řetězcových objektech, jako jsou soubory textu.

Syntaxe

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:

PSPropertyExpression[]

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.