Measure-Object

Berekent de numerieke eigenschappen van objecten en de tekens, woorden en regels in tekenreeksobjecten, zoals bestanden met tekst.

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

De Measure-Object cmdlet berekent de eigenschapswaarden van bepaalde typen objecten. Measure-Object voert drie soorten metingen uit, afhankelijk van de parameters in de opdracht.

De Measure-Object cmdlet voert berekeningen uit op de eigenschapswaarden van objecten. U kunt Measure-Object objecten tellen of objecten tellen met een opgegeven eigenschap. U kunt ook Measure-Object de waarden Minimum, Maximum, Sum, StandardDeviation en Average van numerieke waarden berekenen. Voor tekenreeksobjecten kunt u ook het Measure-Object aantal regels, woorden en tekens tellen.

Voorbeelden

Voorbeeld 1: De bestanden en mappen in een map tellen

Met deze opdracht worden de bestanden en mappen in de huidige map geteld.

Get-ChildItem | Measure-Object

Voorbeeld 2: De bestanden in een map meten

Met deze opdracht worden de grootte minimum, maximum en som weergegeven van de grootten van alle bestanden in de huidige map en de gemiddelde grootte van een bestand in de map.

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

Voorbeeld 3: Tekst meten in een tekstbestand

Met deze opdracht wordt het aantal tekens, woorden en regels in het Text.txt bestand weergegeven. Zonder de parameterGet-Content Raw wordt het bestand uitgevoerd als een matrix met regels.

De eerste opdracht maakt gebruik Set-Content van het toevoegen van een standaardtekst aan een bestand.

"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

Voorbeeld 4: Objecten meten die een opgegeven eigenschap bevatten

In dit voorbeeld wordt het aantal objecten met een Eigenschap DisplayName geteld. Met de eerste twee opdrachten worden alle services en processen op de lokale computer opgehaald. Met de derde opdracht wordt het gecombineerde aantal services en processen geteld. De laatste opdracht combineert de twee verzamelingen en pijpt het resultaat naar Measure-Object.

Het object System.Diagnostics.Process heeft geen DisplayName-eigenschap en valt buiten het uiteindelijke aantal.

$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

Voorbeeld 5: De inhoud van een CSV-bestand meten

Met deze opdracht worden de gemiddelde servicejaren van de werknemers van een bedrijf berekend.

Het ServiceYrs.csv bestand is een CSV-bestand dat het werknemersnummer en de dienstjaren van elke werknemer bevat. De eerste rij in de tabel is een veldnamenrij van EmpNo, Jaren.

Wanneer u Import-Csv het bestand importeert, is het resultaat een PSCustomObject met notitie-eigenschappen van EmpNo en Years. U kunt Measure-Object de waarden van deze eigenschappen berekenen, net als elke andere eigenschap van een object.

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

Voorbeeld 6: Booleaanse waarden meten

In dit voorbeeld ziet u hoe booleaanse Measure-Object waarden kunnen worden gemeten. In dit geval wordt de booleaanse eigenschap PSIsContainer gebruikt om de incidentie van mappen (versus bestanden) in de huidige map te meten.

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

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

Voorbeeld 7: Tekenreeksen meten

In het volgende voorbeeld wordt het aantal regels meten, eerst één tekenreeks, en vervolgens over verschillende tekenreeksen. Het nieuwe regelteken `n scheidt tekenreeksen in meerdere regels.

# 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

Voorbeeld 8: Alle waarden meten

Vanaf PowerShell 6 kunt u met de parameter Measure-ObjectAllStats alle statistieken samen meten.

1..5 | Measure-Object -AllStats

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

Voorbeeld 9: Meting met behulp van scriptblockeigenschappen

Vanaf PowerShell 6 Measure-Object worden scriptblock-eigenschappen ondersteund. In het volgende voorbeeld ziet u hoe u een ScriptBlock-eigenschap gebruikt om de grootte, in MegaBytes, van alle bestanden in een map te bepalen.

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

Voorbeeld 10: Hashtables meten

Vanaf PowerShell 6 Measure-Object biedt ondersteuning voor het meten van hashtabelinvoer . In het volgende voorbeeld wordt de grootste waarde voor de num sleutel van drie hashtabelobjecten bepaald.

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

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

Voorbeeld 11: De standaarddeviatie meten

Vanaf PowerShell 6 Measure-Object ondersteunt u de -StandardDeviation parameter. In het volgende voorbeeld wordt de standaarddeviatie bepaald voor de CPU die door alle processen wordt gebruikt. Een grote afwijking geeft een klein aantal processen aan dat de meeste CPU verbruikt.

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

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

Voorbeeld 12: Meten met jokertekens

Vanaf PowerShell 6 Measure-Object ondersteunt u het meten van objecten met behulp van jokertekens in eigenschapsnamen. In het volgende voorbeeld wordt het maximum van elk type gepaginad geheugengebruik tussen een set processen bepaald.

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

Parameters

-AllStats

Geeft aan dat met de cmdlet alle statistieken van de opgegeven eigenschappen worden weergegeven.

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

Geeft aan dat de cmdlet de gemiddelde waarde van de opgegeven eigenschappen weergeeft.

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

Geeft aan dat de cmdlet het aantal tekens in de invoerobjecten telt.

Notitie

De schakelopties Word, Char en Line tellen in elk invoerobject, evenals voor invoerobjecten. Zie voorbeeld 7.

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

Geeft aan dat de cmdlet witruimte in aantal tekens negeert. Witruimte wordt standaard niet genegeerd.

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

Hiermee geeft u de objecten op die moeten worden gemeten. Voer een variabele in die de objecten bevat of typ een opdracht of expressie waarmee de objecten worden opgehaald.

Wanneer u de parameter InputObject gebruikt met Measure-Object, in plaats van piping-opdrachtresultaten Measure-Object, wordt de InputObject-waarde behandeld als één object.

Het wordt aanbevolen om in de pijplijn te gebruiken Measure-Object als u een verzameling objecten wilt meten op basis van of de objecten specifieke waarden in gedefinieerde eigenschappen hebben.

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

Geeft aan dat de cmdlet het aantal regels in de invoerobjecten telt.

Notitie

De schakelopties Word, Char en Line tellen in elk invoerobject, evenals voor invoerobjecten. Zie voorbeeld 7.

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

Geeft aan dat de cmdlet de maximumwaarde van de opgegeven eigenschappen weergeeft.

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

Geeft aan dat de cmdlet de minimale waarde van de opgegeven eigenschappen weergeeft.

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

Hiermee geeft u een of meer eigenschappen te meten. Als u geen andere metingen opgeeft, Measure-Object telt u de objecten met de eigenschappen die u opgeeft.

De waarde van de parameter Eigenschap kan een nieuwe berekende eigenschap zijn. De berekende eigenschap moet een scriptblok zijn. Zie about_Calculated_Properties voor meer informatie.

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

Geeft aan dat de cmdlet de standaarddeviatie van de waarden van de opgegeven eigenschappen weergeeft.

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

Geeft aan dat de cmdlet de som van de waarden van de opgegeven eigenschappen weergeeft.

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

Geeft aan dat de cmdlet het aantal woorden in de invoerobjecten telt.

Notitie

De schakelopties Word, Char en Line tellen in elk invoerobject, evenals voor invoerobjecten. Zie voorbeeld 7.

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

Invoerwaarden

PSObject

U kunt objecten doorsluisen naar Measure-Object.

Uitvoerwaarden

GenericMeasureInfo

TextMeasureInfo

Als u de Word-parameter gebruikt, Measure-Object wordt een TextMeasureInfo-object geretourneerd. Anders wordt een GenericMeasureInfo-object geretourneerd.