Measure-Object
Calcula las propiedades numéricas de objetos y los caracteres, palabras y líneas en objetos de cadena (como archivos de texto).
Sintaxis
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 PSIsContainer para 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.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | PSObject |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Maximum
Indica que el cmdlet muestra el valor máximo de las propiedades especificadas.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Minimum
Indica que el cmdlet muestra el valor mínimo de las propiedades especificadas.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | String[] |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | True |
-Sum
Indica que el cmdlet muestra la suma de los valores de las propiedades especificadas.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
Puede canalizar objetos a este cmdlet.
Salidas
De forma predeterminada, este cmdlet devuelve un objeto GenericMeasureInfo .
Cuando se usa el parámetro Word , este cmdlet devuelve un objeto TextMeasureInfo .
Notas
Windows PowerShell incluye los siguientes alias para Measure-Object
:
measure