Contar ou calcular propriedades numéricas de objetos, como caracteres, palavras e linhas em objetos de string, pode ser exasperante. Felizmente, o PowerShell Measure-Object
cmdlet está à altura da tarefa.
Neste tutorial, você aprenderá o poder do cmdlet Measure-Object
na automação da medição de propriedades de objetos no PowerShell.
Mergulhe de cabeça para aprimorar suas habilidades de medição de objetos!
Pré-requisitos
Este tutorial é uma demonstração prática. Para acompanhar, você precisará de um sistema com o PowerShell instalado. Este tutorial utiliza o Windows 10 com o PowerShell v7.
Contagem de Arquivos e Pastas
Saber o número de arquivos e pastas em um diretório pode ser útil em vários cenários. Um exemplo é quando você precisa monitorar o tamanho de uma pasta ou verificar o número de arquivos em um diretório.
O cmdlet Measure-Object
conta o número de arquivos e pastas em um diretório. A contagem exata ajuda a gerenciar e otimizar melhor os recursos do seu sistema.
Para ver como o cmdlet Measure-Object
funciona na contagem de arquivos e pastas:
1. Abra o PowerShell e execute o seguinte comando Get-ChildItem
para contar e retornar o total de arquivos e pastas coletivamente (Measure-Object
) no seu diretório atual.
A saída abaixo indica 4852 arquivos e pastas no diretório atual.

Talvez você queira incluir todos os arquivos e subdiretórios na árvore de diretórios de forma recursiva. Se for o caso, adicione o parâmetro
-Recurse
, como mostrado abaixo.Get-ChildItem -Recurse | Measure-Object
2. Em seguida, execute o mesmo comando abaixo como fez no primeiro passo. Mas desta vez, adicione o parâmetro -Directory
para contar apenas o total de diretórios no diretório de trabalho.
Como você pode ver abaixo, a contagem total agora é menor (135), já que o comando contou apenas diretórios, excluindo todos os outros objetos.

3. Agora, execute o comando abaixo para contar os arquivos executáveis (.exe
) no seu diretório atual.
O parâmetro -Filter
informa ao cmdlet Get-ChildItem
para filtrar os resultados e retornar apenas os arquivos com a extensão que você especificar (ou seja, *.txt
, *.jpg
, *.csv
).

Medindo Tamanhos de Arquivos
Medir comprimentos e tamanhos de objetos pode ajudar a gerenciar melhor seu sistema, já que arquivos grandes afetam o desempenho do sistema. Além de contar propriedades, você também pode medir o comprimento e o tamanho de objetos através do cmdlet Measure-Object
.
Execute o código abaixo para recuperar todos os arquivos no diretório atual (Get-ChildItem
) e exibir (Write-Host
) seus respectivos comprimentos em bytes por padrão.
O código abaixo imprime cada medida no console, incluindo os tamanhos mínimo e máximo de arquivo, tamanho médio de arquivo, a soma dos tamanhos de arquivo e o número total de arquivos.
Abaixo, você pode ver os tamanhos exibidos em bytes.

Talvez colar o código no console não seja sua praia. Se for o caso, salve o código em um arquivo de script do PowerShell e execute-o.
Agora, execute os seguintes comandos para obter um arquivo no diretório atual, onde (Where-Object
) seu tamanho ($_.Length
) é igual (-eq
) ao tamanho máximo do arquivo ($files.Maximum
).
A saída abaixo mostra o nome do arquivo mais extenso no diretório atual.

Medindo o Conteúdo de Arquivos de Texto
Em vez de medir tamanhos de arquivos, você pode precisar determinar o número de linhas, palavras ou caracteres em um arquivo de texto. Se for o caso, o cmdlet Measure-Object
tem muitos outros parâmetros para medir o conteúdo de arquivos de texto.
Execute o código abaixo para realizar a seguinte medida do conteúdo do arquivo de texto (Measure-Object
) por -Character
, -Line
e -Word
, e exiba (Write-Host
) as medidas.
Assegure-se de alterar os valores das variáveis $file_path
e $file_content
com os valores desejados.

Medindo Valores Booleanos
Valores booleanos são valores que podem ser verdadeiros ou falsos. No PowerShell, valores booleanos são frequentemente usados para controlar o fluxo de um script, determinar uma condição (verdadeira ou falsa) ou indicar o sucesso ou falha de um comando.
Medir valores booleanos pode ser útil em diversos cenários, tais como:
- Contar o número de valores verdadeiros ou falsos em um conjunto de dados.
- Determinar a porcentagem de valores verdadeiros em relação ao número total de valores.
Essas informações podem ajudar a tomar decisões sólidas no processamento ou análise de dados.
Para ver como medir valores booleanos funciona:
Execute os seguintes comandos para contar a soma dos valores booleanos (valores verdadeiros por padrão) no array ($values
).
Abaixo, o total Contagem dos valores booleanos é nove (9), enquanto a Soma é cinco (5), pois apenas os valores verdadeiros são contados.
E quanto aos valores falsos? Pule para a etapa seguinte e execute mais alguns comandos.

Agora, execute o código abaixo para subtrair a soma dos valores verdadeiros ($trueCount
) do total de contagem de valores booleanos ($count
). A diferença da equação é o total de valores falsos ($falseCount
).

Se medir valores booleanos é uma tarefa diária, você pode criar uma função que pode ser chamada a qualquer momento para executar a tarefa.
Medindo Hashtables
Hashtables no PowerShell (uma coleção de pares chave-valor) permitem que você armazene e recupere dados de forma rápida e eficiente. Se você precisa do número de itens em uma hashtable ou dos valores máximo e mínimo, deixe o cmdlet Measure-Object
medir suas hashtables.
Execute os comandos abaixo para encontrar os valores -Minimum
e -Maximum
da propriedade Num
em sua hashtable ($MyHastable
).

Medindo Desvios Padrão
Revisar conjuntos de dados pode ser confuso, mas não precisa ser. Medir o desvio padrão é útil ao entender a distribuição dos valores do conjunto de dados. Você também pode identificar quaisquer valores atípicos ou pontos de dados incomuns que afetem os resultados.
O desvio padrão mede a variação ou dispersão dos valores do conjunto de dados em relação ao valor médio (média). Essa medida é calculada encontrando a raiz quadrada da variância dos dados, que é a média das diferenças quadradas em relação à média.
Execute o código abaixo para calcular e exibir a -Média
e o -DesvioPadrão
de uma matriz de números armazenados na variável $Números
.
Em estatística, a média mede a tendência central, descrevendo o valor típico ou mais representativo de um conjunto de dados.
A média é calculada adicionando todos os números em um conjunto de dados e dividindo pelo número total de valores. Neste exemplo, o conjunto de dados é {10
, 20
, 30
, 40
, 50
} com uma soma de 150, e cinco números (5
) estão no conjunto.
Consequentemente, a média é calculada abaixo, que é 30
.
Por outro lado, o desvio padrão mede a dispersão ou variação de um conjunto de dados. O desvio padrão é calculado da seguinte forma:

Conclusão
Medir dados é uma tarefa essencial, e o cmdlet PowerShell Measure-Object
é uma ferramenta poderosa para completar essa tarefa. E neste tutorial, você aprendeu como medir dados de várias maneiras. Seja trabalhando com arquivos, conteúdo de arquivos de texto, valores booleanos, strings, arrays ou hashtables, medir esses dados pode fornecer insights valiosos.
Agora, você pode facilmente calcular os valores médio, máximo e mínimo dos seus dados e medir a variação ou dispersão dos seus dados. Com esses recursos, você pode obter uma compreensão mais profunda dos seus dados e tomar decisões informadas com base na sua análise.
Com esse conhecimento recém-adquirido, por que não expandir seu conjunto de ferramentas do PowerShell e adicionar o Compare-Object
ao seu arsenal?
Source:
https://adamtheautomator.com/powershell-measure-object/