Measure-Object

Calcula las propiedades numéricas de objetos y los caracteres, palabras y líneas en objetos de cadena (como archivos de texto).

Syntax

Measure-Object
       [-InputObject <PSObject>]
       [[-Property] <String[]>]
       [-Sum]
       [-Average]
       [-Maximum]
       [-Minimum]
       [<CommonParameters>]
Measure-Object
       [-InputObject <PSObject>]
       [[-Property] <String[]>]
       [-Line]
       [-Word]
       [-Character]
       [-IgnoreWhiteSpace]
       [<CommonParameters>]

Description

El Measure-Object cmdlet calcula los valores de propiedad de determinados tipos de objeto. Measure-Object realiza tres tipos de medidas, en función de los parámetros del comando.

El Measure-Object cmdlet realiza cálculos sobre los valores de propiedad de los objetos. Puede usar Measure-Object para contar objetos o contar objetos con una propiedad especificada. También puede usar Measure-Object para calcular el valor Mínimo, Máximo, Suma, EstándarDeviation y Promedio de valores numéricos. En el caso de los objetos String , también puede usar Measure-Object para contar el número de líneas, palabras y caracteres.

Ejemplos

Ejemplo 1: Recuento de los archivos y carpetas de un directorio

Este comando cuenta los archivos y carpetas en el directorio actual.

Get-ChildItem | Measure-Object

Ejemplo 2: Medir los archivos de un directorio

Este comando muestra el tamaño mínimo, máximo y suma de todos los archivos del directorio actual y el tamaño medio de un archivo en el directorio.

Get-ChildItem | Measure-Object -Property length -Minimum -Maximum -Sum -Average

Ejemplo 3: Medir texto en un archivo de texto

Este comando muestra el número de caracteres, palabras y líneas en el archivo Text.txt. Sin el parámetro Raw , Get-Content genera el archivo como una matriz de líneas.

El primer comando usa Set-Content para agregar texto predeterminado a un archivo.

"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

Ejemplo 4: Medir objetos que contienen una propiedad especificada

En este ejemplo se cuenta el número de objetos que tienen una propiedad DisplayName . Los dos primeros comandos recuperan todos los servicios y procesos del equipo local. El tercer comando cuenta el número combinado de servicios y procesos. El último comando combina las dos colecciones y canaliza el resultado a Measure-Object.

El objeto System.Diagnostics.Process no tiene una propiedad DisplayName y se deja fuera del recuento 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

Ejemplo 5: Medir el contenido de un archivo CSV

Este comando calcula el promedio de años de servicio de los empleados de una compañía.

El ServiceYrs.csv archivo es un archivo CSV que contiene el número de empleado y los años de servicio de cada empleado. La primera fila de la tabla es una fila de encabezado de EmpNo, Years.

Cuando se usa Import-Csv para importar el archivo, el resultado es un PSCustomObject con las propiedades de Nota de EmpNo y Years. Puede usar Measure-Object para calcular los valores de estas propiedades, al igual que cualquier otra propiedad de un objeto.

Import-Csv d:\test\serviceyrs.csv | Measure-Object -Property years -Minimum -Maximum -Average

Ejemplo 6: Medir valores booleanos

En este ejemplo se muestra cómo Measure-Object puede medir los valores booleanos. En este caso, usa la propiedad booleana PSIsContainerpara medir la incidencia de carpetas (frente a archivos) en el directorio actual.

Get-ChildItem | Measure-Object -Property psiscontainer -Maximum -Sum -Minimum -Average

Count             : 126
Average           : 0.0634920634920635
Sum               : 8
Maximum           : 1
Minimum           : 0
StandardDeviation :
Property          : PSIsContainer

Ejemplo 7: Medir cadenas

En el ejemplo siguiente se mide el número de líneas, primero una sola cadena y, a continuación, en varias cadenas. El carácter `n de nueva línea separa las cadenas en varias líneas.

# 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

Parámetros

-Average

Indica que el cmdlet muestra el valor medio de las propiedades especificadas.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Character

Indica que el cmdlet cuenta el número de caracteres de los objetos de entrada.

Nota:

Los modificadores Word, Char y Line cuentan dentro de cada objeto de entrada, así como entre objetos de entrada. Consulte el ejemplo 7.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IgnoreWhiteSpace

Indica que el cmdlet omite el espacio en blanco en los recuentos de caracteres. Los espacios en blanco no se omiten de forma predeterminada.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Especifica los objetos que se van a medir. Especifique una variable que contenga los objetos o escriba un comando o una expresión que obtenga los objetos.

Cuando se usa el parámetro InputObject con Measure-Object, en lugar de canalizar los resultados del comando a Measure-Object, el valor InputObject se trata como un único objeto.

Se recomienda usar Measure-Object en la canalización si desea medir una colección de objetos en función de si los objetos tienen valores específicos en propiedades definidas.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Line

Indica que el cmdlet cuenta el número de líneas de los objetos de entrada.

Nota:

Los modificadores Word, Char y Line cuentan dentro de cada objeto de entrada, así como entre objetos de entrada. Consulte el ejemplo 7.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Maximum

Indica que el cmdlet muestra el valor máximo de las propiedades especificadas.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Minimum

Indica que el cmdlet muestra el valor mínimo de las propiedades especificadas.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Property

Especifica una o varias propiedades que se van a medir. Si no especifica ninguna otra medida, Measure-Object cuenta los objetos que tienen las propiedades que especifique.

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Sum

Indica que el cmdlet muestra la suma de los valores de las propiedades especificadas.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Word

Indica que el cmdlet cuenta el número de palabras de los objetos de entrada.

Nota:

Los modificadores Word, Char y Line cuentan dentro de cada objeto de entrada, así como entre objetos de entrada. Consulte el ejemplo 7.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

PSObject

Puede canalizar objetos a este cmdlet.

Salidas

GenericMeasureInfo

De forma predeterminada, este cmdlet devuelve un objeto GenericMeasureInfo .

TextMeasureInfo

Cuando se usa el parámetro Word , este cmdlet devuelve un objeto TextMeasureInfo .

Notas

Windows PowerShell incluye los siguientes alias para Measure-Object:

  • measure