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 -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 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-Object
ScriptBlock- 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
Du kan skicka objekt till den här cmdleten.
Utdata
Som standard returnerar den här cmdleten ett GenericMeasureInfo--objekt.
När du använder parametern Word returnerar den här cmdleten ett TextMeasureInfo-objekt.
Kommentarer
PowerShell innehåller följande alias för Measure-Object
:
- Alla plattformar:
measure
Från och med PowerShell 7.3 returnerar Measure-Object
inte längre ett fel när du bearbetar ett objekt som saknar egenskapen som mäts om du inte kör i StrictMode. I StrictModereturnerar Measure-Object
en System.Management.Automation.PSArgumentException
när ett objekt som saknar den angivna egenskapen bearbetas.