Measure-Object
Calcule les propriétés numériques des objets et les caractères, les mots et les lignes dans les objets de chaîne, par exemple les fichiers de texte.
Syntaxe
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
L’applet Measure-Object
de commande calcule les valeurs de propriété de certains types d’objet.
Measure-Object
effectue trois types de mesures, en fonction des paramètres de la commande.
L’applet Measure-Object
de commande effectue des calculs sur les valeurs de propriété des objets. Vous pouvez utiliser Measure-Object
pour compter des objets ou compter des objets avec une propriété spécifiée. Vous pouvez également utiliser Measure-Object
pour calculer le nombre minimal, maximal, somme, standardDeviation et moyenne des valeurs numériques. Pour les objets String , vous pouvez également compter Measure-Object
le nombre de lignes, de mots et de caractères.
Exemples
Exemple 1 : Compter les fichiers et dossiers dans un répertoire
Cette commande compte les fichiers et dossiers dans le répertoire actif.
Get-ChildItem | Measure-Object
Exemple 2 : Mesurer les fichiers dans un répertoire
Cette commande affiche la taille minimale, maximale et somme des tailles de tous les fichiers dans le répertoire actif et la taille moyenne d’un fichier dans le répertoire.
Get-ChildItem | Measure-Object -Property length -Minimum -Maximum -Sum -Average
Exemple 3 : Mesurer du texte dans un fichier texte
Cette commande affiche le nombre de caractères, de mots et de lignes dans le fichier Text.txt.
Sans le paramètre Raw , Get-Content
génère le fichier sous la forme d’un tableau de lignes.
La première commande utilise Set-Content
pour ajouter du texte par défaut à un fichier.
"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
Exemple 4 : Mesurer des objets contenant une propriété spécifiée
Cet exemple compte le nombre d’objets qui ont une propriété DisplayName . Les deux premières commandes récupèrent tous les services et processus sur l’ordinateur local. La troisième commande compte le nombre combiné de services et de processus. La dernière commande combine les deux collections et canalise le résultat vers Measure-Object
.
L’objet System.Diagnostics.Process n’a pas de propriété DisplayName et est absent du nombre final.
$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
Exemple 5 : Mesurer le contenu d’un fichier CSV
Cette commande calcule les années de service en moyenne des employés d'une société.
Le ServiceYrs.csv
fichier est un fichier CSV qui contient le nombre d’employés et les années de service de chaque employé. La première ligne du tableau est une ligne d’en-tête d’EmpNo, Years.
Lorsque vous utilisez Import-Csv
pour importer le fichier, le résultat est un PSCustomObject avec des propriétés de note d’EmpNo et Years.
Vous pouvez utiliser Measure-Object
pour calculer les valeurs de ces propriétés, comme n’importe quelle autre propriété d’un objet.
Import-Csv d:\test\serviceyrs.csv | Measure-Object -Property years -Minimum -Maximum -Average
Exemple 6 : Mesurer les valeurs booléennes
Cet exemple montre comment mesurer les Measure-Object
valeurs booléennes.
Dans ce cas, il utilise la propriété booléenne PSIsContainer pour mesurer l’incidence des dossiers (et des fichiers) dans le répertoire actif.
Get-ChildItem | Measure-Object -Property psiscontainer -Maximum -Sum -Minimum -Average
Count : 126
Average : 0.0634920634920635
Sum : 8
Maximum : 1
Minimum : 0
StandardDeviation :
Property : PSIsContainer
Exemple 7 : Chaînes de mesure
L’exemple suivant mesure le nombre de lignes, d’abord une seule chaîne, puis sur plusieurs chaînes. Le caractère `n
newline sépare les chaînes en plusieurs lignes.
# 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
Exemple 8 : Mesurer toutes les valeurs
À compter de PowerShell 6, le paramètre AllStats de vous permet de Measure-Object
mesurer toutes les statistiques ensemble.
1..5 | Measure-Object -AllStats
Count : 5
Average : 3
Sum : 15
Maximum : 5
Minimum : 1
StandardDeviation : 1.58113883008419
Property :
Exemple 9 : Mesure à l’aide de propriétés scriptblock
À compter de PowerShell 6, Measure-Object
prend en charge les propriétés ScriptBlock . L’exemple suivant montre comment utiliser une propriété ScriptBlock pour déterminer la taille, en MégaOctets, de tous les fichiers d’un répertoire.
Get-ChildItem | Measure-Object -Sum {$_.Length/1MB}
Exemple 10 : Mesures de table de hachage
À compter de PowerShell 6, Measure-Object
prend en charge la mesure de l’entrée de table de hachage. L’exemple suivant détermine la plus grande valeur pour la num
clé de 3 objets de table de hachage.
@{num=3}, @{num=4}, @{num=5} | Measure-Object -Maximum Num
Count : 3
Average :
Sum :
Maximum : 5
Minimum :
StandardDeviation :
Property : num
Exemple 11 : Mesurer l’écart type
À compter de PowerShell 6, Measure-Object
prend en charge le paramètre StandardDeviation . L’exemple suivant détermine l’écart type du processeur utilisé par tous les processus. Un écart important indique un petit nombre de processus consommant le plus d’UC.
Get-Process | Measure-Object -Average -StandardDeviation CPU
Count : 303
Average : 163.032384488449
Sum :
Maximum :
Minimum :
StandardDeviation : 859.444048419069
Property : CPU
Exemple 12 : Mesurer à l’aide de caractères génériques
À compter de PowerShell 6, Measure-Object
prend en charge la mesure des objets à l’aide de caractères génériques dans les noms de propriétés. L’exemple suivant détermine le maximum de n’importe quel type d’utilisation de la mémoire paginée parmi un ensemble de processus.
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
Paramètres
-AllStats
Indique que l’applet de commande affiche toutes les statistiques des propriétés spécifiées.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Average
Indique que l’applet de commande affiche la valeur moyenne des propriétés spécifiées.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Character
Indique que l’applet de commande compte le nombre de caractères dans les objets d’entrée.
Remarque
Les commutateurs Word, Char et Line comptent à l’intérieur de chaque objet d’entrée, ainsi que dans les objets d’entrée. Voir l’exemple 7.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-IgnoreWhiteSpace
Indique que l’applet de commande ignore l’espace blanc dans les nombres de caractères. Par défaut, les espaces ne sont pas ignorés.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-InputObject
Spécifie les objets à mesurer. Entrez une variable contenant les objets, ou tapez une commande ou une expression qui obtient ces objets.
Lorsque vous utilisez le paramètre InputObject avec Measure-Object
, au lieu de passer aux Measure-Object
résultats de la commande piping, la valeur InputObject est traitée comme un seul objet.
Il est recommandé d’utiliser Measure-Object
dans le pipeline si vous souhaitez mesurer une collection d’objets selon que les objets ont des valeurs spécifiques dans des propriétés définies.
Type: | PSObject |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Line
Indique que l’applet de commande compte le nombre de lignes dans les objets d’entrée.
Remarque
Les commutateurs Word, Char et Line comptent à l’intérieur de chaque objet d’entrée, ainsi que dans les objets d’entrée. Voir l’exemple 7.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Maximum
Indique que l’applet de commande affiche la valeur maximale des propriétés spécifiées.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Minimum
Indique que l’applet de commande affiche la valeur minimale des propriétés spécifiées.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Property
Spécifie une ou plusieurs propriétés à mesurer. Si vous ne spécifiez aucune autre mesure, Measure-Object
compte les objets qui ont les propriétés que vous spécifiez.
La valeur du paramètre Property peut être une nouvelle propriété calculée. La propriété calculée doit être un bloc de script. Pour plus d’informations, consultez about_Calculated_Properties.
Type: | PSPropertyExpression[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | True |
-StandardDeviation
Indique que l’applet de commande affiche l’écart type des valeurs des propriétés spécifiées.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Sum
Indique que l’applet de commande affiche la somme des valeurs des propriétés spécifiées.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Word
Indique que l’applet de commande compte le nombre de mots dans les objets d’entrée.
Remarque
Les commutateurs Word, Char et Line comptent à l’intérieur de chaque objet d’entrée, ainsi que dans les objets d’entrée. Voir l’exemple 7.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
Vous pouvez diriger des objets vers cette applet de commande.
Sorties
Par défaut, cette applet de commande retourne un objet GenericMeasureInfo .
Lorsque vous utilisez le paramètre Word , cette applet de commande renvoie un objet TextMeasureInfo .
Notes
PowerShell inclut les alias suivants pour Measure-Object
:
- Toutes les plateformes :
measure
À compter de PowerShell 7.3, Measure-Object
aucune erreur ne retourne une erreur lors du traitement d’un objet manquant la propriété mesurée, sauf si vous exécutez strictMode. Dans StrictMode, Measure-Object
retourne une System.Management.Automation.PSArgumentException
valeur lors du traitement d’un objet qui manque la propriété spécifiée.