Dela via


Measure-Object

Beräknar de numeriska egenskaperna för objekt och tecken, ord och rader i strängobjekt, till exempel textfiler.

Syntax

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

Cmdleten Measure-Object beräknar egenskapsvärdena för vissa typer av objekt. Measure-Object utför tre typer av mått, beroende på parametrarna i kommandot.

Cmdleten Measure-Object utför beräkningar på objektens egenskapsvärden. Du kan använda Measure-Object för att räkna objekt eller räkna objekt med en angiven egenskap. Du kan också använda Measure-Object för att beräkna Minimum, Maximum, Sum, StandardDeviation och Average of numeric values.you can also use Measure-Object to calculate the Minimum, Maximum, Sum, StandardDeviation and Average of numeric values. För String-objekt kan du också använda Measure-Object för att räkna antalet rader, ord och tecken.

Exempel

Exempel 1: Räkna filer och mappar i en katalog

Det här kommandot räknar filerna och mapparna i den aktuella katalogen.

Get-ChildItem | Measure-Object

Exempel 2: Mäta filerna i en katalog

Det här kommandot visar Minimum, Maximum, och Sum för storleken på alla filer i den aktuella katalogen och den genomsnittliga storleken på en fil i katalogen.

Get-ChildItem | Measure-Object -Property length -Minimum -Maximum -Average

Exempel 3: Mäta text i en textfil

Det här kommandot visar antalet tecken, ord och rader i filen Text.txt. Utan parametern Raw matar Get-Content ut filen som en matris med rader.

Det första kommandot använder Set-Content för att lägga till standardtext i en fil.

"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

Exempel 4: Mät objekt som innehåller en angiven egenskap

I det här exemplet räknas antalet objekt som har egenskapen DisplayName. De två första kommandona hämtar alla tjänster och processer på den lokala datorn. Det tredje kommandot räknar det kombinerade antalet tjänster och processer. Det sista kommandot kombinerar de två samlingarna och leder resultatet till Measure-Object.

Objektet System.Diagnostics.Process har ingen DisplayName-egenskap och lämnas inte med det slutliga antalet.

$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

Exempel 5: Mäta innehållet i en CSV-fil

Det här kommandot beräknar de genomsnittliga tjänsteåren för anställda i ett företag.

Filen ServiceYrs.csv är en CSV-fil som innehåller antalet anställda och tjänsteår för varje anställd. Den första raden i tabellen är en rubrikrad i EmpNo, Years.

När du använder Import-Csv för att importera filen blir resultatet en PSCustomObject- med anteckningsegenskaper för EmpNo och Years. Du kan använda Measure-Object för att beräkna värdena för dessa egenskaper, precis som andra egenskaper för ett objekt.

Import-Csv d:\test\serviceyrs.csv | Measure-Object -Property years -Minimum -Maximum -Average

Exempel 6: Mäta booleska värden

Det här exemplet visar hur Measure-Object kan mäta booleska värden. I det här fallet använder den egenskapen PSIsContainerboolesk för att mäta förekomsten av mappar (jämfört med filer) i den aktuella katalogen.

Get-ChildItem | Measure-Object -Property psiscontainer -Maximum -Sum -Minimum -Average

Count             : 126
Average           : 0.0634920634920635
Sum               : 8
Maximum           : 1
Minimum           : 0
StandardDeviation :
Property          : PSIsContainer

Exempel 7: Mät strängar

I följande exempel mäts antalet rader, först en enskild sträng och sedan över flera strängar. Det nya tecknet `n separerar strängar i flera rader.

# 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

Exempel 8: Mät alla värden

Från och med PowerShell 6 gör parametern AllStats för Measure-Object att du kan mäta all statistik tillsammans.

1..5 | Measure-Object -AllStats

Count             : 5
Average           : 3
Sum               : 15
Maximum           : 5
Minimum           : 1
StandardDeviation : 1.58113883008419
Property          :

Exempel 9: Mått med hjälp av egenskaper för scriptblock

Från och med PowerShell 6 stöder Measure-ObjectScriptBlock- egenskaper. I följande exempel visas hur du använder en ScriptBlock--egenskap för att fastställa storleken på alla filer i en katalog i MegaByte.

Get-ChildItem | Measure-Object -Sum {$_.Length/1MB}

Exempel 10: Mäta hashtables

Från och med PowerShell 6 stöder Measure-Object mätning av hashtable indata. I följande exempel fastställs det största värdet för den num nyckeln på 3 hashtable- objekt.

@{num=3}, @{num=4}, @{num=5} | Measure-Object -Maximum Num

Count             : 3
Average           :
Sum               :
Maximum           : 5
Minimum           :
StandardDeviation :
Property          : num

Exempel 11: Mät standardavvikelsen

Från och med PowerShell 6 stöder Measure-Object parametern -StandardDeviation. I följande exempel fastställs den standardavvikelsen för processorn som används av alla processer. En stor avvikelse skulle tyda på ett litet antal processer som förbrukar mest CPU.

Get-Process | Measure-Object -Average -StandardDeviation CPU

Count             : 303
Average           : 163.032384488449
Sum               :
Maximum           :
Minimum           :
StandardDeviation : 859.444048419069
Property          : CPU

Exempel 12: Mät med jokertecken

Från och med PowerShell 6 stöder Measure-Object mätning av objekt med hjälp av jokertecken i egenskapsnamn. I följande exempel fastställs maximalt antal sidsidiga minnesanvändningar bland en uppsättning processer.

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

Parametrar

-AllStats

Anger att cmdleten visar all statistik för de angivna egenskaperna.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Average

Anger att cmdleten visar det genomsnittliga värdet för de angivna egenskaperna.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Character

Anger att cmdleten räknar antalet tecken i indataobjekten.

Not

Word, Char och Line växlar räknas inuti varje indataobjekt samt mellan indataobjekt. Se Exempel 7.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-IgnoreWhiteSpace

Anger att cmdleten ignorerar tomt utrymme i antal tecken. Som standard ignoreras inte tomt utrymme.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-InputObject

Anger vilka objekt som ska mätas. Ange en variabel som innehåller objekten eller skriv ett kommando eller uttryck som hämtar objekten.

När du använder parametern InputObject med Measure-Object, i stället för att skicka kommandoresultat till Measure-Object, behandlas värdet InputObject som ett enda objekt.

Vi rekommenderar att du använder Measure-Object i pipelinen om du vill mäta en samling objekt baserat på om objekten har specifika värden i definierade egenskaper.

Typ:PSObject
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Line

Anger att cmdleten räknar antalet rader i indataobjekten.

Not

Word, Char och Line växlar räknas inuti varje indataobjekt samt mellan indataobjekt. Se Exempel 7.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Maximum

Anger att cmdleten visar det maximala värdet för de angivna egenskaperna.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Minimum

Anger att cmdleten visar det minsta värdet för de angivna egenskaperna.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Property

Anger en eller flera egenskaper som ska mätas. Om du inte anger några andra mått räknar Measure-Object de objekt som har de egenskaper som du anger.

Värdet för parametern Property kan vara en ny beräknad egenskap. Den beräknade egenskapen måste vara ett skriptblock. Mer information finns i about_Calculated_Properties.

Typ:PSPropertyExpression[]
Position:0
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:True

-StandardDeviation

Anger att cmdleten visar standardavvikelsen för värdena för de angivna egenskaperna.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Sum

Anger att cmdleten visar summan av värdena för de angivna egenskaperna.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Word

Anger att cmdleten räknar antalet ord i indataobjekten.

Not

Word, Char och Line växlar räknas inuti varje indataobjekt samt mellan indataobjekt. Se Exempel 7.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

PSObject

Du kan skicka objekt till Measure-Object.

Utdata

GenericMeasureInfo

TextMeasureInfo

Om du använder parametern Word returnerar Measure-Object ett TextMeasureInfo-objekt. Annars returneras ett GenericMeasureInfo- objekt.