Measure-Object
Berekent de numerieke eigenschappen van objecten en de tekens, woorden en regels in tekenreeksobjecten, zoals tekstbestanden.
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 typen metingen uit, afhankelijk van de parameters in de opdracht.
De Measure-Object
cmdlet voert berekeningen uit op de eigenschapswaarden van objecten. U kunt gebruiken Measure-Object
om objecten te tellen of objecten met een opgegeven eigenschap te tellen. U kunt ook gebruiken Measure-Object
om de numerieke waarden Minimum, Maximum, Sum, StandardDeviation en Average te berekenen. Voor tekenreeksobjecten kunt u ook gebruiken Measure-Object
om het aantal regels, woorden en tekens te 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 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 in een tekstbestand meten
Met deze opdracht wordt het aantal tekens, woorden en regels in het Text.txt-bestand weergegeven.
Zonder de parameter Raw wordt Get-Content
het bestand uitgevoerd als een matrix van regels.
De eerste opdracht gebruikt Set-Content
om standaardtekst toe te voegen 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: Meetobjecten met een opgegeven eigenschap
In dit voorbeeld wordt het aantal objecten geteld dat de eigenschap DisplayName heeft. 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. Met de laatste opdracht worden de twee verzamelingen gecombineerd en wordt het resultaat door elkaar gesprompt naar Measure-Object
.
Het object System.Diagnostics.Process heeft geen eigenschap DisplayName en wordt buiten de uiteindelijke telling gelaten.
$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 dienstjaren van de werknemers van een bedrijf berekend.
Het ServiceYrs.csv
bestand is een CSV-bestand dat het aantal werknemers en de dienstjaren van elke werknemer bevat. De eerste rij in de tabel is een veldnamenrij van EmpNo, Jaren.
Wanneer u gebruikt Import-Csv
om het bestand te importeren, is het resultaat een PSCustomObject met notitie-eigenschappen van EmpNo en Years.
U kunt gebruiken Measure-Object
om de waarden van deze eigenschappen te 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 gemeten, eerst één tekenreeks en vervolgens over meerdere tekenreeksen. Het teken `n
newline 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 AllStats van Measure-Object
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: Meten met behulp van scriptblock-eigenschappen
Vanaf PowerShell 6 ondersteunt Measure-Object
ScriptBlock-eigenschappen . In het volgende voorbeeld ziet u hoe u de eigenschap ScriptBlock gebruikt om de grootte in megabytes te bepalen van alle bestanden in een map.
Get-ChildItem | Measure-Object -Sum {$_.Length/1MB}
Voorbeeld 10: Hashtabellen meten
Vanaf PowerShell 6 ondersteunt Measure-Object
het meten van hashtable-invoer . In het volgende voorbeeld wordt de grootste waarde voor de num
sleutel van 3 hashtable-objecten 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 wordt Measure-Object
de -StandardDeviation
parameter ondersteund. In het volgende voorbeeld wordt de standaarddeviatie bepaald voor de CPU die door alle processen wordt gebruikt. Een grote afwijking duidt op een klein aantal processen 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 het meten van objecten met behulp van jokertekens in eigenschapsnamen. In het volgende voorbeeld wordt het maximum van elk type wisselgeheugengebruik 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 de cmdlet alle statistieken van de opgegeven eigenschappen weergeeft.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
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 |
Required: | False |
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, Teken en Lijn tellen binnen elk invoerobject, evenals voor invoerobjecten. Zie voorbeeld 7.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IgnoreWhiteSpace
Geeft aan dat de cmdlet witruimte in aantal tekens negeert. Standaard wordt witruimte niet genegeerd.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Hiermee geeft u de objecten 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 de opdrachtresultaten door te sturen naar Measure-Object
, wordt de waarde InputObject 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 het feit of de objecten specifieke waarden in gedefinieerde eigenschappen hebben.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
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, Teken en Lijn tellen binnen elk invoerobject, evenals voor invoerobjecten. Zie voorbeeld 7.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
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 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Minimum
Geeft aan dat de cmdlet de minimumwaarde van de opgegeven eigenschappen weergeeft.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
Hiermee geeft u een of meer eigenschappen om te meten. Als u geen andere metingen opgeeft, Measure-Object
worden de objecten geteld die de eigenschappen hebben 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 |
Required: | False |
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 |
Required: | False |
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 |
Required: | False |
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, Teken en Lijn tellen binnen elk invoerobject, evenals voor invoerobjecten. Zie voorbeeld 7.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Invoerwaarden
U kunt objecten doorsnijden naar deze cmdlet.
Uitvoerwaarden
Deze cmdlet retourneert standaard een GenericMeasureInfo-object .
Wanneer u de parameter Word gebruikt, retourneert deze cmdlet een TextMeasureInfo-object.
Notities
PowerShell bevat de volgende aliassen voor Measure-Object
:
- Alle platformen:
measure
Vanaf PowerShell 7.3 wordt er geen fout meer geretourneerd bij het verwerken van een object waarvoor de eigenschap ontbreekt die wordt gemeten, Measure-Object
tenzij u in StrictMode werkt. In StrictMode retourneertMeasure-Object
een System.Management.Automation.PSArgumentException
bij het verwerken van een object waarvoor de opgegeven eigenschap ontbreekt.