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å egenskapsvärdena för objekt. 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 värdena Minimum, Maximum, Sum, StandardDeviation och Average för numeriska värden. För Strängobjekt 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 minimi-, max- och summastorlekarna för alla filer i den aktuella katalogen och den genomsnittliga storleken på en fil i katalogen.

Get-ChildItem | Measure-Object -Property length -Minimum -Maximum -Sum -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 Get-Content Raw matas filen ut 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 en DisplayName-egenskap . 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 skickar resultatet till Measure-Object.

Objektet System.Diagnostics.Process har ingen DisplayName-egenskap och utelämnas från 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 anteckningsegenskaperna 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 PSIsContainerBoolean 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 avgränsar 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 kan du med parametern Measure-Object AllStats 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 har Measure-Object stöd för ScriptBlock-egenskaper . I följande exempel visas hur du använder en ScriptBlock-egenskap för att fastställa storleken, i MegaByte, på alla filer i en katalog.

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 nyckeln för num 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 Measure-Object stöder parametern -StandardDeviation . I följande exempel fastställs 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 Measure-Object stöder 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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Average

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Character

Anger att cmdleten räknar antalet tecken i indataobjekten.

Kommentar

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IgnoreWhiteSpace

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 InputObject-värdet 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.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Line

Anger att cmdleten räknar antalet rader i indataobjekten.

Kommentar

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Maximum

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Minimum

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Property

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

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

Type:PSPropertyExpression[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-StandardDeviation

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Sum

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Word

Anger att cmdleten räknar antalet ord i indataobjekten.

Kommentar

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

PSObject

Du kan skicka objekt till den här cmdleten.

Utdata

GenericMeasureInfo

Som standard returnerar den här cmdleten ett GenericMeasureInfo-objekt .

TextMeasureInfo

När du använder Word-parametern returnerar den här cmdleten ett TextMeasureInfo-objekt .

Kommentarer

PowerShell innehåller följande alias för Measure-Object:

  • Alla plattformar:
    • measure