Das Zählen oder Berechnen numerischer Eigenschaften von Objekten wie Zeichen, Wörtern und Zeilen in Zeichenketten kann frustrierend sein. Glücklicherweise ist der PowerShell Measure-Object
Befehl für diese Aufgabe geeignet.
In diesem Tutorial lernen Sie die Leistungsfähigkeit des Measure-Object
Befehls kennen, um Objekteigenschaften in PowerShell automatisch zu messen.
Tauchen Sie ein und verbessern Sie Ihre Fähigkeiten zur Messung von Objekten!
Voraussetzungen
Dieses Tutorial ist eine praktische Demonstration. Um mitzumachen, benötigen Sie ein System mit PowerShell. Dieses Tutorial verwendet Windows 10 mit PowerShell v7.
Zählen von Dateien und Ordnern
Die Kenntnis der Anzahl von Dateien und Ordnern in einem Verzeichnis kann in verschiedenen Szenarien hilfreich sein. Ein Beispiel ist, wenn Sie die Größe eines Ordners überwachen oder die Anzahl der Dateien in einem Verzeichnis überprüfen müssen.
Der Measure-Object
Befehl zählt die Anzahl der Dateien und Ordner in einem Verzeichnis. Die genaue Anzahl hilft Ihnen dabei, Ihre Systemressourcen besser zu verwalten und zu optimieren.
Um zu sehen, wie der Measure-Object
Befehl zum Zählen von Dateien und Ordnern funktioniert:
1. Öffnen Sie PowerShell und führen Sie den folgenden Befehl Get-ChildItem
aus, um die Gesamtanzahl der Dateien und Ordner gemeinsam (Measure-Object
) im aktuellen Verzeichnis zu zählen und zurückzugeben.
Die Ausgabe unten zeigt 4852 Dateien und Ordner im aktuellen Verzeichnis an.

Vielleicht möchten Sie alle Dateien und Unterverzeichnisse im Verzeichnisbaum rekursiv einbeziehen. Wenn ja, fügen Sie den
-Recurse
-Parameter wie unten gezeigt hinzu.Get-ChildItem -Recurse | Measure-Object
2. Führen Sie als Nächstes denselben Befehl wie in Schritt eins aus. Fügen Sie diesmal jedoch den -Directory
-Parameter hinzu, um nur die Gesamtanzahl der Verzeichnisse im Arbeitsverzeichnis zu zählen.
Wie unten zu sehen ist, ist die Gesamtanzahl nun niedriger (135), da der Befehl nur Verzeichnisse gezählt hat und alle anderen Objekte ausschließt.

3. Führen Sie nun den folgenden Befehl aus, um die ausführbaren Dateien (.exe
) im aktuellen Verzeichnis zu zählen.
Der -Filter
-Parameter teilt dem Get-ChildItem
-Cmdlet mit, die Ergebnisse zu filtern und nur die Dateien mit der von Ihnen angegebenen Erweiterung (d. h. *.txt
, *.jpg
, *.csv
) zurückzugeben.

Das Messen von Dateigrößen
Das Messen von Objektlängen und -größen kann helfen, Ihr System besser zu verwalten, da große Dateien die Leistung Ihres Systems beeinträchtigen können. Neben dem Zählen von Eigenschaften können Sie auch die Länge und Größe von Objekten mithilfe des Measure-Object
-Cmdlets messen.
Führen Sie den folgenden Code aus, um alle Dateien im aktuellen Verzeichnis (Get-ChildItem
) abzurufen und ihre jeweiligen Längen standardmäßig in Bytes anzuzeigen (Write-Host
).
Der folgende Code gibt jede Messung auf der Konsole aus, einschließlich der minimalen und maximalen Dateigrößen, der durchschnittlichen Dateigröße, der Summe der Dateigrößen und der Gesamtzahl der Dateien.
Unten sehen Sie die Größen in Bytes angezeigt.

Vielleicht ist das Einfügen des Codes in die Konsole nichts für Sie. Wenn dies der Fall ist, speichern Sie den Code in einer PowerShell-Skriptdatei und führen Sie ihn aus.
Führen Sie nun die folgenden Befehle aus, um eine Datei im aktuellen Verzeichnis zu erhalten, bei der die Größe ($_.Length
) dem maximalen Dateigröße ($files.Maximum
) entspricht.
Die Ausgabe unten zeigt den Namen der umfangreichsten Datei im aktuellen Verzeichnis.

Messen des Inhalts einer Textdatei
Anstatt Dateigrößen zu messen, müssen Sie möglicherweise die Anzahl der Zeilen, Wörter oder Zeichen in einer Textdatei bestimmen. Wenn dies der Fall ist, hat das Measure-Object
Cmdlet viele andere Parameter, um den Inhalt von Textdateien zu messen.
Führen Sie den folgenden Code aus, um die folgenden Maßnahmen am Inhalt der Textdatei (Measure-Object
) nach -Character
, -Line
und -Word
durchzuführen und die Messungen auszugeben (Write-Host
).
Stellen Sie sicher, dass Sie die Werte der Variablen $file_path
und $file_content
mit Ihren bevorzugten Werten ändern.

Messen von booleschen Werten
Boolesche Werte sind Werte, die nur wahr oder falsch sein können. In PowerShell werden boolesche Werte häufig verwendet, um den Ablauf eines Skripts zu steuern, eine Bedingung (wahr oder falsch) festzulegen oder den Erfolg oder Misserfolg eines Befehls anzuzeigen.
Das Messen von booleschen Werten kann in verschiedenen Szenarien nützlich sein, wie zum Beispiel:
- Zählen der Anzahl von wahren oder falschen Werten in einem Datensatz.
- Bestimmen des Prozentsatzes wahrer Werte im Verhältnis zur Gesamtzahl der Werte.
Diese Informationen können bei der Verarbeitung oder Analyse von Daten helfen.
Um zu sehen, wie das Messen von booleschen Werten funktioniert:
Führen Sie die folgenden Befehle aus, um die Summe der booleschen Werte (Standardmäßig true-Werte) im Array ($Werte) zu zählen.
Unten ist die Gesamtanzahl der booleschen Werte neun (9), während die Summe fünf (5) beträgt, da nur die true-Werte gezählt werden.
Was ist mit den false-Werten? Springen Sie zum nächsten Schritt und führen Sie ein paar weitere Befehle aus.

Führen Sie nun den folgenden Code aus, um die Summe der true-Werte ($trueCount) von der Gesamtanzahl der booleschen Werte ($count) abzuziehen. Die Differenz aus der Gleichung ist die Gesamtanzahl der false-Werte ($falseCount).

Wenn das Messen von booleschen Werten eine tägliche Aufgabe ist, können Sie eine Funktion erstellen, die Sie jederzeit aufrufen können, um die Aufgabe auszuführen.
Messen von Hashtables
Hashtables in PowerShell (eine Sammlung von Schlüssel-Wert-Paaren) ermöglichen es Ihnen, Daten schnell und effizient zu speichern und abzurufen. Wenn Sie die Anzahl der Elemente in einer Hashtable oder die maximalen und minimalen Werte benötigen, lassen Sie das Cmdlet Measure-Object
Ihre Hashtables messen.
Führen Sie die folgenden Befehle aus, um die Num
-Eigenschaften mit den Werten -Minimum
und -Maximum
in Ihrer Hashtable ($MyHastable
) zu finden.

Messen von Standardabweichungen
Die Überprüfung von Datensätzen kann verwirrend sein, muss es jedoch nicht sein. Das Messen der Standardabweichung ist nützlich, um die Verteilung der Werte im Datensatz zu verstehen. Sie können auch Ausreißer oder ungewöhnliche Datenpunkte identifizieren, die die Ergebnisse beeinflussen können.
Die Standardabweichung misst die Variation oder Streuung der Werte im Datensatz vom Mittelwert (Durchschnitt) ab. Diese Messung wird berechnet, indem die Quadratwurzel der Varianz der Daten gefunden wird, die der Durchschnitt der quadrierten Unterschiede vom Mittelwert ist.
Führen Sie den folgenden Code aus, um den Durchschnitt und die Standardabweichung eines Arrays von Zahlen zu berechnen und anzuzeigen, die in der Variable $Numbers
gespeichert sind.
In der Statistik misst der Mittelwert die zentrale Tendenz und beschreibt den typischen oder repräsentativsten Wert eines Datensatzes.
Der Durchschnitt wird berechnet, indem alle Zahlen in einem Datensatz addiert und durch die Gesamtanzahl der Werte geteilt werden. In diesem Beispiel ist der Datensatz {10
, 20
, 30
, 40
, 50
} mit einer Summe von 150, und fünf Zahlen (5
) sind im Satz enthalten.
Folglich wird der Durchschnitt unten berechnet, der 30
ist.
Andererseits misst die Standardabweichung die Streuung oder Verteilung eines Datensatzes. Die Standardabweichung wird wie folgt berechnet:

Abschluss
Das Messen von Daten ist eine wesentliche Aufgabe, und das PowerShell Measure-Object
cmdlet ist ein leistungsstarkes Werkzeug, um die Aufgabe zu erledigen. In diesem Tutorial haben Sie gelernt, wie Sie Daten auf viele Arten messen können. Egal, ob Sie mit Dateien, Inhalten von Textdateien, booleschen Werten, Zeichenfolgen, Arrays oder Hashtabellen arbeiten, das Messen kann wertvolle Einblicke bieten.
Jetzt können Sie ganz einfach den Durchschnitt, das Maximum und das Minimum Ihrer Daten berechnen und die Variation oder Streuung Ihrer Daten messen. Mit diesen Funktionen können Sie ein tieferes Verständnis Ihrer Daten gewinnen und fundierte Entscheidungen auf der Grundlage Ihrer Analyse treffen.
Mit diesem neu gewonnenen Wissen, warum erweitern Sie nicht Ihr PowerShell-Toolkit und fügen Compare-Object
zu Ihrem Arsenal hinzu?
Source:
https://adamtheautomator.com/powershell-measure-object/