Measure the numeric or string properties of objects

      Measure-Object [ [-property] string[] ]  [-inputObject psobject]
         [-average] [-sum] [-minimum] [-maximum] [-StandardDeviation] [-AllStats]

      Measure-Object [ [-property] string[] ]  [-inputObject psobject]
         [-character] [-line] [-word] [-ignoreWhiteSpace]

       The objects to be measured. 
       A command, expression or variable that contains the objects.

   -property string[]
       The property to measure.

       Return all the statistics (average,sum,minimum,maximum,StandardDeviation) PowerShell 6+.

       Average the values in the designated property.

       Count the number of characters in the input object.

       Ignore white space in word counts and character counts.

       Count the number of lines in the input object.

       Determine the minimum value of the properties.

       Determine the maximum value of the properties.

       Determine the standard deviation of the properties. PowerShell 6+.

       Sum the values of the properties.

       Count the number of words in the input object.

Standard Aliases for Measure-Object: measure

In PowerShell 3.0 it is possible to measure Date/Time properties such as LastWriteTime of a file or StartTime of a process.

By default Measure-Object will return an array of several measurements, if you only want to return one, then pipe the output into
| Select-Object -expand item

Beginning in PowerShell 6, Measure-Object supports measurement of objects by using wildcards in property names.


Count the number of files and folders in the current directory:

PS C:\> get-childitem | measure-object

Display the size of the largest and the size of the smallest file in the current directory:

PS C:\> get-childitem | measure-object -property length -minimum -maximum

Display the sum of all files in the current directory and return a single number:

PS C:\> get-childitem | measure-object -property length -sum | Select-Object -expand sum

Count the number of words in the file SS64.txt

PS C:\> get-content C:\SS64.txt | measure-object -word | Select-Object -expand words

Determine the standard deviation for the CPU used by all processes. A large deviation would indicate a small number of processes consuming the most CPU:

Get-Process | Measure-Object -Average -StandardDeviation CPU

Determine the maximum of any type of paged memory usage among a set of processes (wildcards require PowerShell 6+).

Get-Process | Measure-Object -Maximum *paged*memory*size

“The advantage of living is not measured by length, but by use; some men have lived long, and lived little; attend to it while you are in it” ~ Michel Eyquem de Montaigne

Related PowerShell Cmdlets:

Compare-Object - Compare the properties of objects.
ForEach-Object - Loop for each object in the pipeline.
Group-Object - Group the objects that contain the same value for a common property.
New-Object - Create a new .Net object
Select-Object - Select objects based on parameters set in the Cmdlet command string.
Sort-Object - Sort the input objects by property value.
Tee-Object - Send input objects to two places.
Where-Object - Filter input from the pipeline allowing operation on only certain objects.
Equivalent bash command: expr - Evaluate expressions.

Copyright © 1999-2021
Some rights reserved