Partilhar via


Measure-Object

Calcula as propriedades numéricas de objetos e os caracteres, palavras e linhas em objetos de cadeia de caracteres, como arquivos de texto.

Sintaxe

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

Description

O Measure-Object cmdlet calcula os valores de propriedade de determinados tipos de objeto. Measure-Object Executa três tipos de medições, dependendo dos parâmetros no comando.

O Measure-Object cmdlet executa cálculos nos valores de propriedade de objetos. Você pode usar Measure-Object para contar objetos ou contar objetos com uma Propriedade especificada. Você também pode usar Measure-Object para calcular o mínimo, máximo, soma, desvio padrão e média de valores numéricos. Para objetos String , você também pode usar Measure-Object para contar o número de linhas, palavras e caracteres.

Exemplos

Exemplo 1: Contar os arquivos e pastas em um diretório

Este comando conta os arquivos e pastas no diretório atual.

Get-ChildItem | Measure-Object

Exemplo 2: Medir os arquivos em um diretório

Este comando exibe os tamanhos Mínimo, Máximo e Soma dos tamanhos de todos os arquivos no diretório atual e o tamanho médio de um arquivo no diretório.

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

Exemplo 3: Medir texto em um arquivo de texto

Este comando exibe o número de caracteres, palavras e linhas no arquivo Text.txt. Sem o parâmetro Raw , Get-Content produz o arquivo como uma matriz de linhas.

O primeiro comando é usado Set-Content para adicionar algum texto padrão a um arquivo.

"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

Exemplo 4: Medir objetos que contêm uma propriedade especificada

Este exemplo conta o número de objetos que têm uma propriedade DisplayName . Os dois primeiros comandos recuperam todos os serviços e processos na máquina local. O terceiro comando conta o número combinado de serviços e processos. O último comando combina as duas coleções e canaliza o resultado para Measure-Object.

O objeto System.Diagnostics.Process não tem uma propriedade DisplayName e é deixado de fora da contagem 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

Exemplo 5: Medir o conteúdo de um arquivo CSV

Este comando calcula a média de anos de serviço dos colaboradores de uma empresa.

O ServiceYrs.csv arquivo é um arquivo CSV que contém o número de funcionário e os anos de serviço de cada funcionário. A primeira linha da tabela é uma linha de cabeçalho de EmpNo, Years.

Quando você usa Import-Csv para importar o arquivo, o resultado é um PSCustomObject com propriedades de nota de EmpNo e Years. Você pode usar Measure-Object para calcular os valores dessas propriedades, assim como qualquer outra propriedade de um objeto.

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

Exemplo 6: Medir valores booleanos

Este exemplo demonstra como o pode medir valores Measure-Object booleanos. Nesse caso, ele usa a propriedade Boolean PSIsContainer para medir a incidência de pastas (vs. arquivos) no diretório atual.

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

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

Exemplo 7: Medir cadeias de caracteres

O exemplo a seguir mede o número de linhas, primeiro uma única cadeia de caracteres e, em seguida, em várias cadeias de caracteres. O caractere `n newline separa cadeias de caracteres em várias linhas.

# 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 o cmdlet exibe o valor médio das propriedades especificadas.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Character

Indica que o cmdlet conta o número de caracteres nos objetos de entrada.

Nota

As opções Word, Char e Line contam dentro de cada objeto de entrada, bem como entre objetos de entrada. Ver Exemplo 7.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-IgnoreWhiteSpace

Indica que o cmdlet ignora o espaço em branco nas contagens de caracteres. Por padrão, o espaço em branco não é ignorado.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-InputObject

Especifica os objetos a serem medidos. Insira uma variável que contenha os objetos ou digite um comando ou expressão que obtenha os objetos.

Quando você usa o parâmetro InputObject com Measure-Object, em vez de canalizar os resultados do comando para Measure-Object, o valor InputObject é tratado como um único objeto.

É recomendável usar Measure-Object no pipeline se quiser medir uma coleção de objetos com base no fato de os objetos terem valores específicos em propriedades definidas.

Tipo:PSObject
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-Line

Indica que o cmdlet conta o número de linhas nos objetos de entrada.

Nota

As opções Word, Char e Line contam dentro de cada objeto de entrada, bem como entre objetos de entrada. Ver Exemplo 7.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Maximum

Indica que o cmdlet exibe o valor máximo das propriedades especificadas.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Minimum

Indica que o cmdlet exibe o valor mínimo das propriedades especificadas.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Property

Especifica uma ou mais propriedades a serem medidas. Se você não especificar outras medidas, Measure-Object contará os objetos que têm as propriedades especificadas.

Tipo:String[]
Position:0
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

-Sum

Indica que o cmdlet exibe a soma dos valores das propriedades especificadas.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Word

Indica que o cmdlet conta o número de palavras nos objetos de entrada.

Nota

As opções Word, Char e Line contam dentro de cada objeto de entrada, bem como entre objetos de entrada. Ver Exemplo 7.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Entradas

PSObject

Você pode canalizar objetos para este cmdlet.

Saídas

GenericMeasureInfo

Por padrão, esse cmdlet retorna um objeto GenericMeasureInfo .

TextMeasureInfo

Quando você usa o parâmetro Word , esse cmdlet retorna um objeto TextMeasureInfo .

Notas

O Windows PowerShell inclui os seguintes aliases para Measure-Object:

  • measure