Measure-Object
Berechnet die numerischen Eigenschaften von Objekten und die Zeichen, Wörter und Zeilen in Zeichenfolgenobjekten, z. B. Textdateien.
Syntax
Measure-Object
[-InputObject <PSObject>]
[[-Property] <String[]>]
[-Sum]
[-Average]
[-Maximum]
[-Minimum]
[<CommonParameters>]
Measure-Object
[-InputObject <PSObject>]
[[-Property] <String[]>]
[-Line]
[-Word]
[-Character]
[-IgnoreWhiteSpace]
[<CommonParameters>]
Beschreibung
Das Measure-Object
Cmdlet berechnet die Eigenschaftswerte bestimmter Objekttypen.
Measure-Object
führt je nach den Parametern im Befehl drei Maßtypen aus.
Das Measure-Object
Cmdlet führt Berechnungen für die Eigenschaftswerte von Objekten aus. Sie können verwenden Measure-Object
, um Objekte zu zählen oder Objekte mit einer angegebenen Eigenschaft zu zählen. Sie können auch Measure-Object
das Minimum, Maximum, Summe, StandardDeviation und Mittelwert numerischer Werte berechnen. Bei String-Objekten können Sie auch die Measure-Object
Anzahl der Zeilen, Wörter und Zeichen zählen.
Beispiele
Beispiel 1: Zählen der Dateien und Ordner in einem Verzeichnis
Mit diesem Befehl werden die Dateien und Ordner im aktuellen Verzeichnis gezählt.
Get-ChildItem | Measure-Object
Beispiel 2: Messen der Dateien in einem Verzeichnis
Mit diesem Befehl werden die Größen "Minimum", "Maximum" und "Summe " aller Dateien im aktuellen Verzeichnis sowie die durchschnittliche Größe einer Datei im Verzeichnis angezeigt.
Get-ChildItem | Measure-Object -Property length -Minimum -Maximum -Sum -Average
Beispiel 3: Messen von Text in einer Textdatei
Mit diesem Befehl wird die Anzahl der Zeichen, Wörter und Zeilen in der Datei „Text.txt“ angezeigt.
Ohne den Raw-Parameter gibt Get-Content
die Datei als Array von Zeilen aus.
Der erste Befehl verwendet Set-Content
, um einer Datei Standardtext hinzuzufügen.
"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
Beispiel 4: Messen von Objekten, die eine angegebene Eigenschaft enthalten
In diesem Beispiel wird die Anzahl der Objekte gezählt, die über eine DisplayName-Eigenschaft verfügen. Die ersten beiden Befehle rufen alle Dienste und Prozesse auf dem lokalen Computer ab. Der dritte Befehl zählt die kombinierte Anzahl von Diensten und Prozessen. Der letzte Befehl kombiniert die beiden Auflistungen und Pfeifen des Ergebnisses in Measure-Object
.
Das System.Diagnostics.Process-Objekt verfügt nicht über eine DisplayName-Eigenschaft und wird nicht aus der endgültigen Anzahl entfernt.
$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
Beispiel 5: Messen des Inhalts einer CSV-Datei
Mit diesem Befehl wird die durchschnittliche Betriebszugehörigkeit der Mitarbeiter eines Unternehmens berechnet.
Die ServiceYrs.csv
Datei ist eine CSV-Datei, die die Mitarbeiternummer und die Dienstjahre jedes Mitarbeiters enthält. Die erste Zeile in der Tabelle ist eine Kopfzeile von EmpNo, Years.
Wenn Sie Import-Csv
die Datei importieren, ist das Ergebnis ein PSCustomObject mit Notizeigenschaften von EmpNo und Years.
Sie können Measure-Object
die Werte dieser Eigenschaften wie jede andere Eigenschaft eines Objekts berechnen.
Import-Csv d:\test\serviceyrs.csv | Measure-Object -Property years -Minimum -Maximum -Average
Beispiel 6: Messen boolescher Werte
In diesem Beispiel wird veranschaulicht, wie boolesche Measure-Object
Werte gemessen werden können.
In diesem Fall wird die PSIsContainer Boolean-Eigenschaft verwendet, um das Auftreten von Ordnern (vs. Dateien) im aktuellen Verzeichnis zu messen.
Get-ChildItem | Measure-Object -Property psiscontainer -Maximum -Sum -Minimum -Average
Count : 126
Average : 0.0634920634920635
Sum : 8
Maximum : 1
Minimum : 0
StandardDeviation :
Property : PSIsContainer
Beispiel 7: Messen von Zeichenfolgen
Das folgende Beispiel misst die Anzahl der Zeilen, zuerst eine einzelne Zeichenfolge und dann mehrere Zeichenfolgen. Das Zeilenumbruchzeichen `n
trennt Zeichenfolgen in mehrere Zeilen.
# 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
Parameter
-Average
Gibt an, dass das Cmdlet den Mittelwert der angegebenen Eigenschaften anzeigt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Character
Gibt an, dass das Cmdlet die Anzahl der Zeichen in den Eingabeobjekten zählt.
Hinweis
Die Anzahl von Word-, Zeichen- und Linienschaltern innerhalb jedes Eingabeobjekts sowie für eingabeübergreifende Objekte. Siehe Beispiel 7.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-IgnoreWhiteSpace
Gibt an, dass das Cmdlet Leerzeichen in Zeichenanzahl ignoriert. Leerzeichen werden standardmäßig nicht ignoriert.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-InputObject
Gibt die Objekte an, die gemessen werden sollen. Geben Sie eine Variable ein, die die Objekte enthält, oder geben Sie einen Befehl oder einen Ausdruck ein, mit dem die Objekte abgerufen werden.
Wenn Sie den InputObject-Parameter mit Measure-Object
, anstelle von Befehlsergebnissen Measure-Object
an die Leitung, verwenden, wird der InputObject-Wert als einzelnes Objekt behandelt.
Es wird empfohlen, in der Pipeline zu verwenden Measure-Object
, wenn Sie eine Auflistung von Objekten messen möchten, basierend darauf, ob die Objekte bestimmte Werte in definierten Eigenschaften aufweisen.
Typ: | PSObject |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Line
Gibt an, dass das Cmdlet die Anzahl der Zeilen in den Eingabeobjekten zählt.
Hinweis
Die Anzahl von Word-, Zeichen- und Linienschaltern innerhalb jedes Eingabeobjekts sowie für eingabeübergreifende Objekte. Siehe Beispiel 7.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Maximum
Gibt an, dass das Cmdlet den Maximalwert der angegebenen Eigenschaften anzeigt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Minimum
Gibt an, dass das Cmdlet den Minimalwert der angegebenen Eigenschaften anzeigt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Property
Gibt eine oder mehrere zu messende Eigenschaften an. Wenn Sie keine anderen Measures angeben, Measure-Object
werden die Objekte mit den von Ihnen angegebenen Eigenschaften zählt.
Typ: | String[] |
Position: | 0 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-Sum
Gibt an, dass das Cmdlet die Summe der Werte der angegebenen Eigenschaften anzeigt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Word
Gibt an, dass das Cmdlet die Anzahl der Wörter in den Eingabeobjekten zählt.
Hinweis
Die Anzahl von Word-, Zeichen- und Linienschaltern innerhalb jedes Eingabeobjekts sowie für eingabeübergreifende Objekte. Siehe Beispiel 7.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
Sie können Objekte an dieses Cmdlet weiterleiten.
Ausgaben
Standardmäßig gibt dieses Cmdlet ein GenericMeasureInfo-Objekt zurück.
Wenn Sie den Word-Parameter verwenden, gibt dieses Cmdlet ein TextMeasureInfo-Objekt zurück.
Hinweise
Windows PowerShell enthält die folgenden Aliase für Measure-Object
:
measure