Partager via


Measure-Object

Calcule les propriétés numériques des objets, ainsi que les caractères, les mots et les lignes dans les objets de chaîne, tels que 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 de commande Measure-Object 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 de commande Measure-Object 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 un Propertyspécifié. Vous pouvez également utiliser Measure-Object pour calculer le minimum, maximum, Sum, StandardDeviation et Moyenne des valeurs numériques. Pour objets string, vous pouvez également utiliser Measure-Object pour compter 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 les minimum, maximum 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 n’a pas le 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 moyennes des employés d’une entreprise.

Le fichier ServiceYrs.csv 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 de EmpNo, Years.

Lorsque vous utilisez Import-Csv pour importer le fichier, le résultat est un PSCustomObject avec des propriétés de note de 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 le Measure-Object peut mesurer les valeurs booléennes. Dans ce cas, il utilise la propriété PSIsContainerbooléen pour mesurer l’incidence des dossiers (vs. files) 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 newline `n 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

À partir de PowerShell 6, le paramètre AllStats de Measure-Object vous permet de 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 table de hachage entrée. L’exemple suivant détermine la plus grande valeur pour la clé num de 3 table de hachage objets.

@{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 pour l’UC utilisée 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.

Note

LeWord , char et commutateurs à l’intérieur chaque objet d’entrée, ainsi que entre 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, l’espace blanc n’est pas ignoré.

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 qui contient les objets, ou tapez une commande ou une expression qui obtient les objets.

Lorsque vous utilisez le paramètre InputObject avec Measure-Object, au lieu de passer à Measure-Object, 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.

Note

LeWord , char et commutateurs à l’intérieur chaque objet d’entrée, ainsi que entre 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.

Note

LeWord , char et commutateurs à l’intérieur chaque objet d’entrée, ainsi que entre 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

PSObject

Vous pouvez diriger des objets vers Measure-Object.

Sorties

GenericMeasureInfo

TextMeasureInfo

Si vous utilisez le paramètre Word , retourne un objet TextMeasureInfo. Sinon, elle retourne un objet GenericMeasureInfo.