Measure-Object
Berekent de numerieke eigenschappen van objecten en de tekens, woorden en regels in tekenreeksobjecten, zoals bestanden met tekst.
Syntaxis
GenericMeasure (Standaard)
Measure-Object
[[-Property] <PSPropertyExpression[]>]
[-InputObject <PSObject>]
[-StandardDeviation]
[-Sum]
[-AllStats]
[-Average]
[-Maximum]
[-Minimum]
[<CommonParameters>]
TextMeasure
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 cmdlet Measure-Object voert berekeningen uit op de eigenschapswaarden van objecten. U kunt Measure-Object gebruiken om objecten te tellen of objecten te tellen met een opgegeven eigenschap. U kunt ook Measure-Object gebruiken om de Minimumte berekenen, Maximum, Som, StandardDeviation- en Gemiddelde numerieke waarden. Voor tekenreeksobjecten kunt u ook Measure-Object gebruiken 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 de Minimum, Maximumen Som van de grootte van alle bestanden in de huidige map en de gemiddelde grootte van een bestand in de map weergegeven.
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 bestand Text.txt weergegeven.
Zonder de parameter Raw voert Get-Content het bestand uit als een matrix met regels.
De eerste opdracht gebruikt Set-Content om een aantal standaardteksten 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: Objecten meten die een opgegeven eigenschap bevatten
In dit voorbeeld wordt het aantal objecten geteld met een eigenschap DisplayName. 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 eigenschap DisplayName en is niet beschikbaar in het laatste 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 bestand ServiceYrs.csv is een CSV-bestand dat het aantal werknemers en jaren van dienst van elke werknemer bevat. De eerste rij in de tabel is een veldnamenrij van EmpNo, Jaar.
Wanneer u Import-Csv gebruikt om het bestand te importeren, is het resultaat een PSCustomObject- met notitieeigenschappen van EmpNo- en Jaar.
U kunt Measure-Object gebruiken om de waarden van deze eigenschappen te berekenen, net zoals 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 de Measure-Object Booleaanse waarden kan meten.
In dit geval wordt de eigenschap PSIsContainerBooleaanse gebruikt om de incidentie van mappen (vs. 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 teken newline `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 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 scriptblockeigenschappen
Vanaf PowerShell 6 ondersteunt Measure-ObjectScriptBlock eigenschappen. In het volgende voorbeeld ziet u hoe u een eigenschap ScriptBlock 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 biedt Measure-Object ondersteuning voor het meten van hashtabel invoer. In het volgende voorbeeld wordt de grootste waarde voor de num sleutel van 3 hashtabel 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 ondersteunt Measure-Object de parameter StandardDeviation. In het volgende voorbeeld wordt de standaarddeviatie 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 ondersteunt Measure-Object het meten van objecten met behulp van jokertekens in eigenschapsnamen. Het volgende voorbeeld bepaalt het maximum van elk type gepaginad geheugengebruik tussen een set processen.
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.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
GenericMeasure
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Average
Geeft aan dat de cmdlet de gemiddelde waarde van de opgegeven eigenschappen weergeeft.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
GenericMeasure
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Character
Geeft aan dat de cmdlet het aantal tekens in de invoerobjecten telt.
Opmerking
De Word, Teken en lijn schakelopties tellen binnen elk invoerobject en over invoerobjecten. Zie voorbeeld 7.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
TextMeasure
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-IgnoreWhiteSpace
Geeft aan dat de cmdlet witruimte in het aantal tekens negeert. Standaard wordt witruimte niet genegeerd.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
TextMeasure
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | 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 resultaten van de opdracht Measure-Objectpiping, wordt de Waarde InputObject behandeld als één object.
Het wordt aanbevolen om Measure-Object in de pijplijn te gebruiken als u een verzameling objecten wilt meten op basis van of de objecten specifieke waarden hebben in gedefinieerde eigenschappen.
Parametereigenschappen
| Type: | PSObject |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | True |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Line
Geeft aan dat de cmdlet het aantal regels in de invoerobjecten telt.
Opmerking
De Word, Teken en lijn schakelopties tellen binnen elk invoerobject en over invoerobjecten. Zie voorbeeld 7.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
TextMeasure
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Maximum
Geeft aan dat de cmdlet de maximumwaarde van de opgegeven eigenschappen weergeeft.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
GenericMeasure
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Minimum
Geeft aan dat de cmdlet de minimumwaarde van de opgegeven eigenschappen weergeeft.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
GenericMeasure
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Property
Hiermee geeft u een of meer eigenschappen die moeten worden gemeten. Als u geen andere metingen opgeeft, telt Measure-Object 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_Propertiesvoor meer informatie.
Parametereigenschappen
| Type: | |
| Default value: | None |
| Ondersteunt jokertekens: | True |
| DontShow: | False |
Parametersets
(All)
| Position: | 0 |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-StandardDeviation
Geeft aan dat de cmdlet de standaarddeviatie van de waarden van de opgegeven eigenschappen weergeeft.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
GenericMeasure
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Sum
Geeft aan dat de cmdlet de som van de waarden van de opgegeven eigenschappen weergeeft.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
GenericMeasure
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Word
Geeft aan dat de cmdlet het aantal woorden in de invoerobjecten telt.
Opmerking
De Word, Teken en lijn schakelopties tellen binnen elk invoerobject en over invoerobjecten. Zie voorbeeld 7.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
TextMeasure
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
CommonParameters
Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.
Invoerwaarden
PSObject
U kunt objecten doorsluisen naar deze cmdlet.
Uitvoerwaarden
GenericMeasureInfo
Deze cmdlet retourneert standaard een GenericMeasureInfo-object.
TextMeasureInfo
Wanneer u de parameter Word gebruikt, retourneert deze cmdlet een TextMeasureInfo--object.
Notities
PowerShell bevat de volgende aliassen voor Measure-Object:
- Alle platforms:
measure
Vanaf PowerShell 7.3 retourneert Measure-Object geen fout meer bij het verwerken van een object dat de eigenschap mist die wordt gemeten, tenzij u in StrictModewordt uitgevoerd. In StrictModeretourneert Measure-Object een System.Management.Automation.PSArgumentException bij het verwerken van een object waarvoor de opgegeven eigenschap ontbreekt.