Como Contar Objetos no PowerShell

  1. Use o Método Count no PowerShell para Contar Objetos
  2. Contar no PowerShell Usando o Comando Measure-Object
  3. Conclusão
Como Contar Objetos no PowerShell

O PowerShell, com sua vasta gama de operadores e cmdlets, oferece uma maneira eficiente e flexível de gerenciar e manipular dados.

Entre esses operadores, o operador Count e o cmdlet Measure-Object são ferramentas poderosas que permitem determinar rapidamente o número de objetos em um array ou coleção, assim como calcular várias propriedades desses objetos.

Ao aproveitar esses recursos, você pode recuperar facilmente contagens e outras estatísticas valiosas, tornando o PowerShell uma ferramenta versátil para análise e gerenciamento de dados.

Este artigo explora aplicações práticas tanto do operador Count quanto do cmdlet Measure-Object, demonstrando como contar arquivos em uma pasta e realizar outras tarefas essenciais de contagem usando o PowerShell.

Se você é um administrador de sistema buscando gerenciar seus recursos ou um desenvolvedor buscando automatizar tarefas relacionadas a dados, entender como contar e medir objetos é uma habilidade valiosa em seu conjunto de ferramentas do PowerShell.

Use o Método Count no PowerShell para Contar Objetos

Sintaxe:

(PSObject).Count

Podemos acessar o operador Count do PowerShell envolvendo o objeto em parênteses (()). Em seguida, adicione um ponto (.), seguido da contagem.

Use o Operador Count para Contar Arquivos

Seja você um administrador de sistema ou um desenvolvedor, existem cenários em que você precisa contar arquivos dentro de um diretório. O PowerShell simplifica essa tarefa com o operador Count, permitindo que você determine rapidamente o número de arquivos em uma pasta. Neste artigo, vamos explorar como contar arquivos em uma pasta usando o operador Count, passo a passo.

Passo 1: Especificar o Caminho da Pasta

Primeiro, precisamos especificar o caminho da pasta na qual queremos contar arquivos. Substitua "C:\SeuCaminhoPasta" pelo caminho real da sua pasta.

$folderPath = "C:\YourFolderPath"

Passo 2: Recuperar os Arquivos

Em seguida, usaremos o cmdlet Get-ChildItem para recuperar os arquivos dentro da pasta especificada. O parâmetro -File garante que apenas arquivos (e não diretórios) sejam recuperados.

$files = Get-ChildItem -Path $folderPath -File

Passo 3: Contar os Arquivos

Agora que recuperamos os arquivos, podemos usar o operador Count para determinar o número de arquivos.

$fileCount = $files.Count

Passo 4: Exibir o Resultado

Finalmente, podemos exibir a contagem de arquivos para o usuário ou usá-la em nosso script conforme necessário.

Write-Host "Total files in $folderPath: $fileCount"

Script Completo do PowerShell

Aqui está o script completo do PowerShell para contar arquivos em uma pasta:

# Step 1: Specify the Folder Path
$folderPath = "C:\YourFolderPath"

# Step 2: Retrieve the Files
$files = Get-ChildItem -Path $folderPath -File

# Step 3: Count the Files
$fileCount = $files.Count

# Step 4: Display the Result
Write-Host "Total files in $folderPath: $fileCount"

Use o Operador Count para Contar Arquivos Recursivamente (incluindo Subpastas) em Uma Pasta

E se também precisarmos contar todos os arquivos na pasta e em suas subpastas?

Abaixo está o código completo.

# Define the folder path
$folderPath = "C:\YourFolderPath"

# Count the files in the folder and subfolders
$fileCount = (Get-ChildItem -Path $folderPath -File -Recurse).Count

# Display the result
Write-Host "Total files in the folder and subfolders: $fileCount"

Agora, vamos detalhar o código e explicar cada parte em detalhes:

1. Contar os Arquivos na Pasta e Subpastas

# Count the files in the folder and subfolders
$fileCount = (Get-ChildItem -Path $folderPath -File -Recurse).Count

Aqui, usamos o cmdlet Get-ChildItem para recuperar todos os arquivos na pasta especificada e em suas subpastas (-Recurse). O parâmetro -File garante que apenas arquivos estejam incluídos no resultado, excluindo diretórios.

Envolvemos este comando em parênteses ( ... ) para aplicar imediatamente o operador Count ao resultado. Este operador conta os elementos na coleção, nos dando a contagem total de arquivos.

Use o Operador Count para Contar Objetos em Um Array

Contar objetos em um array é uma tarefa comum no PowerShell, e é bastante simples graças ao operador Count.

Esse operador permite que você determine rapidamente o número de elementos em um array ou coleção. Vamos introduzir como contar objetos em um array de string usando o operador Count.

Funciona com vários tipos de dados, incluindo arrays de string. Aqui está como você pode usá-lo:

# Create a string array
$stringArray = "Item1", "Item2", "Item3", "Item4"

# Count the objects in the array
$count = $stringArray.Count

# Display the result
Write-Host "Total items in the array: $count"

No código acima, primeiro criamos um array de string chamado $stringArray, e então usamos o operador Count para determinar o número de itens no array. Finalmente, exibimos a contagem usando Write-Host.

Contar no PowerShell Usando o Comando Measure-Object

O cmdlet Measure-Object do PowerShell, frequentemente referido como Measure, calcula várias propriedades de objetos, incluindo a contagem de itens.

Contar Arquivos em Uma Pasta Usando o cmdlet Measure-Object

Para contar arquivos em uma pasta, utilizaremos o cmdlet Measure-Object em combinação com outros comandos do PowerShell.

Aqui está um guia passo a passo sobre como contar arquivos em uma pasta usando Measure-Object:

Passo 1: Obter os Arquivos

Para contar os arquivos, use o cmdlet Get-ChildItem, que recupera uma lista de arquivos e pastas no diretório especificado. Por padrão, inclui também subpastas. Aqui está o comando:

$fileList = Get-ChildItem -Path $folderPath -File

Neste comando:

  • $fileList contém os objetos de arquivo.
  • Measure-Object calcula propriedades dos objetos.
  • .Count recupera a contagem de objetos.

Agora, a variável $fileCount contém o número de arquivos na pasta especificada.

Código de Exemplo

Aqui está o script completo do PowerShell:

# Step 1: Define the folder path
$folderPath = "C:\YourFolderPath"

# Step 2: Get the files
$fileList = Get-ChildItem -Path $folderPath -File

# Step 3: Measure the object count
$fileCount = ($fileList | Measure-Object).Count

# Step 4: Display the result
Write-Host "Number of files in $folderPath: $fileCount"

Substitua "C:\SeuCaminhoPasta" pelo caminho para sua pasta e execute o script para contar os arquivos.

Contar Arquivos em Subpastas

Se você quiser contar arquivos nas subpastas também, pode modificar o comando Get-ChildItem. Usando o parâmetro -Recurse, você instrui o PowerShell a incluir subdiretórios. Aqui está como:

$fileList = Get-ChildItem -Path $folderPath -File -Recurse

Esta única modificação estende a contagem para todos os arquivos na pasta especificada e suas subpastas.

Usando Measure-Object para Contar Linhas em Um Arquivo

O cmdlet Measure-Object no PowerShell é uma ferramenta versátil para calcular propriedades de objetos, incluindo o número de linhas em arquivos de texto. Para contar linhas em um arquivo de texto, usaremos o cmdlet Get-Content em conjunto com Measure-Object.

Aqui está um guia passo a passo sobre como contar linhas em um arquivo de texto usando Measure-Object:

Passo 1: Ler o Conteúdo do Arquivo

Para contar as linhas, use o cmdlet Get-Content para ler o conteúdo do arquivo. Este cmdlet lê cada linha do arquivo e armazena-as em um array. Aqui está o comando:

$fileContent = Get-Content -Path $filePath

Neste comando:

  • -Path especifica o caminho para o arquivo de texto.
  • $fileContent armazena as linhas do arquivo de texto como um array.

Agora, você tem o conteúdo do arquivo de texto carregado na variável $fileContent.

Passo 2: Medir a Contagem de Linhas

Utilize o cmdlet Measure-Object para contar as linhas no arquivo de texto. Aqui está o comando:

$lineCount = ($fileContent | Measure-Object -Line).Lines

Neste comando:

  • $fileContent contém as linhas do arquivo de texto.
  • Measure-Object -Line calcula o número de linhas.
  • .Lines recupera a contagem de linhas.

Agora, a variável $lineCount contém o total de linhas no arquivo de texto.

Código de Exemplo Completo

Aqui está o script completo do PowerShell:

# Step 1: Define the file path
$filePath = "C:\YourFilePath\YourFile.txt"

# Step 2: Read the file content
$fileContent = Get-Content -Path $filePath

# Step 3: Measure the line count
$lineCount = ($fileContent | Measure-Object -Line).Lines

# Step 4: Display the result
Write-Host "Number of lines in $filePath: $lineCount"

Substitua "C:\SeuCaminhoArquivo\SeuArquivo.txt" pelo caminho do seu arquivo de texto e execute o script para contar as linhas.

Usando Measure-Object para Contar Processos

O cmdlet Measure-Object no PowerShell não se limita a contar linhas ou números. Ele também pode contar objetos, tornando-se uma ferramenta valiosa para contar processos. Usaremos Get-Process para recuperar a lista de processos e, em seguida, aplicaremos Measure-Object para contá-los.

Aqui está um guia passo a passo sobre como contar processos usando Measure-Object:

Passo 1: Recuperar a Lista de Processos

Comece usando o cmdlet Get-Process para obter uma lista de processos em execução. Armazene essa lista em uma variável para análise posterior:

$processList = Get-Process

Neste comando:

  • $processList armazena a lista de processos em execução.

Agora, você tem a lista de processos disponível na variável $processList.

Passo 2: Medir a Contagem de Processos

Em seguida, aplique o cmdlet Measure-Object para contar os processos na lista. Aqui está o comando:

$processCount = ($processList | Measure-Object).Count

Neste comando:

  • $processList contém a lista de processos.
  • Measure-Object calcula várias propriedades dos objetos na lista.
  • .Count recupera a contagem de objetos.

A variável $processCount agora contém o total de processos em execução no seu sistema.

Passo 3: Exibir o Resultado

Para ver a contagem de processos, exiba o valor armazenado na variável $processCount:

Write-Host "Number of processes running: $processCount"

Este comando imprime uma mensagem que inclui a contagem de processos.

Código de Exemplo Completo

Aqui está o script completo do PowerShell:

# Step 1: Retrieve the process list
$processList = Get-Process

# Step 2: Measure the process count
$processCount = ($processList | Measure-Object).Count

# Step 3: Display the result
Write-Host "Number of processes running: $processCount"

Execute o script para contar os processos em execução no seu sistema.

Usando Measure-Object para Contar Chaves de Registro

Quando se trata de contar chaves de registro, podemos aproveitar esse cmdlet em conjunto com o cmdlet Get-Item, que nos permite acessar chaves do registro como se fossem caminhos de sistema de arquivos.

Aqui está um guia passo a passo sobre como contar chaves do registro usando Measure-Object:

Passo 1: Acessar a Chave do Registro

Comece usando o cmdlet Get-Item para acessar a chave de registro específica que você deseja contar. Você pode especificar o caminho do registro como uma string:

$registryPath = "HKLM:\Software\YourRegistryKeyPath"
$registryKey = Get-Item -LiteralPath $registryPath

Neste comando:

  • $registryPath armazena o caminho para a chave do registro que você deseja contar.
  • $registryKey acessa a chave do registro.

Certifique-se de substituir "HKLM:\Software\SeuCaminhoChaveRegistro" pelo caminho real da chave de registro que você deseja contar.

Passo 2: Medir a Contagem de Chaves do Registro

Aplique o cmdlet Measure-Object para contar as chaves do registro no caminho especificado:

$keyCount = (Get-ChildItem -Path $registryKey.PSPath).Count

Neste comando:

  • (Get-ChildItem -Path $registryKey.PSPath) recupera os itens filhos (chaves do registro) dentro do caminho especificado.
  • .Count recupera a contagem de chaves do registro.

A variável $keyCount agora contém o total de chaves do registro dentro do caminho especificado.

Código de Exemplo Completo

Aqui está o script completo do PowerShell:

# Step 1: Access the registry key
$registryPath = "HKLM:\Software\YourRegistryKeyPath"
$registryKey = Get-Item -LiteralPath $registryPath

# Step 2: Measure the registry key count
$keyCount = (Get-ChildItem -Path $registryKey.PSPath).Count

# Step 3: Display the result
Write-Host "Number of registry keys: $keyCount"

Substitua "HKLM:\Software\SeuCaminhoChaveRegistro" pelo caminho real da chave de registro que você deseja contar e execute o script para contar as chaves do registro.

Usando Measure-Object para Contar Itens

Quando usado com arrays, Measure-Object conta eficientemente os itens dentro do array.

Aqui está como contar itens em um array usando Measure-Object:

Passo 1: Criar um Array

Comece definindo um array que contenha os itens que você deseja contar. Você pode criar um array manualmente ou usar cmdlets ou funções para preenchê-lo. Por exemplo, vamos criar um array simples:

$myArray = 1, 2, 3, 4, 5

Neste array, temos cinco itens (números de 1 a 5) que queremos contar.

Passo 2: Usar Measure-Object

Aplique o cmdlet Measure-Object para contar os itens no array:

$itemCount = ($myArray | Measure-Object).Count

Neste comando:

  • $myArray é o array que você deseja contar.
  • Measure-Object processa o array e fornece informações sobre ele.
  • .Count recupera a contagem de itens dentro do array.

A variável $itemCount agora contém o total de itens no array.

Código de Exemplo

Aqui está o script completo do PowerShell:

# Step 1: Create an array
$myArray = 1, 2, 3, 4, 5

# Step 2: Use Measure-Object to count items
$itemCount = ($myArray | Measure-Object).Count

# Step 3: Display the result
Write-Host "Number of items in the array: $itemCount"

Execute o script e ele contará os itens no array e exibirá a contagem.

Usando Measure-Object para Contar Linhas

Para contar linhas em uma string usando Measure-Object, siga estas etapas:

Passo 1: Criar uma String

Comece definindo uma string do PowerShell que contém o texto para o qual você deseja contar as linhas. Esta string pode ser criada manualmente ou obtida de várias fontes, como arquivos, entrada do usuário ou solicitações da web. Aqui está uma string de exemplo:

$text = @"
This is line 1.
This is line 2.
This is line 3.
"@

Neste comando:

  • $text é a string para a qual você deseja contar as linhas.
  • Measure-Object processa a string e fornece informações sobre a contagem das linhas.
  • -Line especifica que queremos contar as linhas.
  • .Lines recupera a contagem de linhas da medição.

A variável $lineCount agora contém o total de linhas na string.

Passo 3: Exibir o Resultado

Para ver a contagem de linhas, você pode exibir o valor armazenado na variável $lineCount:

Write-Host "Number of lines in the string: $lineCount"

Este comando imprime uma mensagem que inclui a contagem de linhas da string.

Código de Exemplo

Aqui está o script completo do PowerShell:

# Step 1: Create a string
$text = @"
This is line 1.
This is line 2.
This is line 3.
"@

# Step 2: Use Measure-Object to count lines
$lineCount = ($text | Measure-Object -Line).Lines

# Step 3: Display the result
Write-Host "Number of lines in the string: $lineCount"

Saída:

Number of lines in the string: 3

Execute o script e ele contará as linhas na string e exibirá a contagem de linhas.

Usando Measure-Object para Contar Caracteres

Para contar caracteres em uma string usando Measure-Object, siga estas etapas:

Passo 1: Criar uma String

Comece definindo uma string do PowerShell que contém o texto para o qual você deseja contar os caracteres. Esta string pode ser criada manualmente ou obtida de várias fontes, como entrada do usuário ou arquivos de dados. Aqui está uma string de exemplo:

$text = "Hello, DelftStack!"

Neste comando:

  • $text é a string para a qual você deseja contar os caracteres.
  • Measure-Object processa a string e fornece informações sobre a contagem dos caracteres.
  • -Character especifica que queremos contar caracteres.
  • .Characters recupera a contagem de caracteres da medição.

A variável $charCount agora contém o total de caracteres na string.

Passo 3: Exibir o Resultado

Para ver a contagem de caracteres, você pode exibir o valor armazenado na variável $charCount:

Write-Host "Number of characters in the string: $charCount"

Este comando imprime uma mensagem que inclui a contagem de caracteres da string.

Código de Exemplo

Aqui está o script completo do PowerShell:

# Step 1: Create a string
$text = "Hello, DelftStack!"

# Step 2: Use Measure-Object to count characters
$charCount = ($text | Measure-Object -Character).Characters

# Step 3: Display the result
Write-Host "Number of characters in the string: $charCount"

Saída:

Number of characters in the string: 18

Executar este script contará os caracteres na string e exibirá a contagem de caracteres.

Conclusão

Neste artigo, exploramos duas ferramentas essenciais no PowerShell: o operador Count e o cmdlet Measure-Object.

Essas ferramentas permitem que você conte e meça objetos de forma eficiente dentro de arrays ou coleções, tornando o PowerShell uma solução versátil para análise e gerenciamento de dados.

Ao seguir as instruções passo a passo e exemplos fornecidos neste artigo, você pode aplicar com confiança tanto o operador Count quanto o cmdlet Measure-Object em seus scripts do PowerShell.

Seja você trabalhando com arquivos, chaves de registro, processos, arrays ou strings, essas ferramentas são indispensáveis para suas empreitadas de scripting no PowerShell.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Artigo relacionado - PowerShell Object