Comment compter des objets dans PowerShell
-
Utilisez la méthode
Count
dans PowerShell pour compter des objets -
Comptez dans PowerShell en utilisant la commande
Measure-Object
- Conclusion

PowerShell, avec sa vaste gamme d’opérateurs et de cmdlets, offre un moyen efficace et flexible de gérer et de manipuler des données.
Parmi ces opérateurs, l’opérateur Count
et le cmdlet Measure-Object
sont des outils puissants qui vous permettent de déterminer rapidement le nombre d’objets dans un tableau ou une collection, ainsi que de calculer diverses propriétés de ces objets.
En tirant parti de ces fonctionnalités, vous pouvez facilement récupérer des comptes et d’autres statistiques précieuses, faisant de PowerShell un outil polyvalent pour l’analyse et la gestion des données.
Cet article explore les applications pratiques de l’opérateur Count
et du cmdlet Measure-Object
en démontrant comment compter des fichiers dans un dossier et effectuer d’autres tâches de comptage essentielles à l’aide de PowerShell.
Que vous soyez un administrateur système cherchant à gérer vos ressources ou un développeur cherchant à automatiser des tâches liées aux données, comprendre comment compter et mesurer des objets est une compétence précieuse dans votre boîte à outils PowerShell.
Utilisez la méthode Count
dans PowerShell pour compter des objets
Syntaxe :
(PSObject).Count
Nous pouvons accéder à l’opérateur Count
de PowerShell en englobant l’objet entre parenthèses (()
). Ensuite, ajoutez un point (.
), suivi du compte.
Utilisez l’opérateur Count
pour compter des fichiers
Que vous soyez un administrateur système ou un développeur, il existe des scénarios où vous devez compter des fichiers dans un répertoire. PowerShell simplifie cette tâche avec l’opérateur Count
, vous permettant de déterminer rapidement le nombre de fichiers dans un dossier. Dans cet article, nous explorerons comment compter les fichiers dans un dossier à l’aide de l’opérateur Count
, étape par étape.
Étape 1 : Spécifiez le chemin du dossier
Tout d’abord, nous devons spécifier le chemin vers le dossier dans lequel nous souhaitons compter les fichiers. Remplacez "C:\YourFolderPath"
par le chemin réel de votre dossier.
$folderPath = "C:\YourFolderPath"
Étape 2 : Récupérez les fichiers
Ensuite, nous utiliserons le cmdlet Get-ChildItem
pour récupérer les fichiers dans le dossier spécifié. Le paramètre -File
garantit que seuls les fichiers (et non les répertoires) sont récupérés.
$files = Get-ChildItem -Path $folderPath -File
Étape 3 : Comptez les fichiers
Maintenant que nous avons récupéré les fichiers, nous pouvons utiliser l’opérateur Count
pour déterminer le nombre de fichiers.
$fileCount = $files.Count
Étape 4 : Affichez le résultat
Enfin, nous pouvons afficher le nombre de fichiers à l’utilisateur ou l’utiliser dans notre script selon les besoins.
Write-Host "Total files in $folderPath: $fileCount"
Script PowerShell complet
Voici le script PowerShell complet pour compter des fichiers dans un dossier :
# 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"
Utilisez l’opérateur Count
pour compter les fichiers de manière récursive (y compris dans les sous-dossiers) dans un dossier
Et si nous devons également compter tous les fichiers dans le dossier et ses sous-dossiers ?
Voici le code complet.
# 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"
Maintenant, décomposons le code et expliquons chaque partie en détail :
1. Comptez les fichiers dans le dossier et les sous-dossiers
# Count the files in the folder and subfolders
$fileCount = (Get-ChildItem -Path $folderPath -File -Recurse).Count
Ici, nous utilisons le cmdlet Get-ChildItem
pour récupérer tous les fichiers dans le dossier spécifié et ses sous-dossiers (-Recurse
). Le paramètre -File
garantit que seuls les fichiers sont inclus dans le résultat, excluant les répertoires.
Nous enveloppons cette commande dans des parenthèses ( ... )
pour appliquer immédiatement l’opérateur Count
au résultat. Cet opérateur compte les éléments de la collection, nous donnant le total des fichiers.
Utilisez l’opérateur Count
pour compter des objets dans un tableau
Compter des objets dans un tableau est une tâche courante dans PowerShell, et c’est assez simple grâce à l’opérateur Count
.
Cet opérateur vous permet de déterminer rapidement le nombre d’éléments dans un tableau ou une collection. Nous allons introduire comment compter des objets dans un tableau de chaînes à l’aide de l’opérateur Count
.
Cela fonctionne avec divers types de données, y compris les tableaux de chaînes. Voici comment vous pouvez l’utiliser :
# 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"
Dans le code ci-dessus, nous créons d’abord un tableau de chaînes nommé $stringArray
, puis nous utilisons l’opérateur Count
pour déterminer le nombre d’éléments dans le tableau. Enfin, nous affichons le compte à l’aide de Write-Host
.
Comptez dans PowerShell en utilisant la commande Measure-Object
Le cmdlet Measure-Object
de PowerShell, souvent appelé Measure
, calcule diverses propriétés des objets, y compris le nombre d’éléments.
Comptez les fichiers dans un dossier en utilisant le cmdlet Measure-Object
Pour compter les fichiers dans un dossier, nous allons utiliser le cmdlet Measure-Object
en combinaison avec d’autres commandes PowerShell.
Voici un guide étape par étape pour compter les fichiers dans un dossier à l’aide de Measure-Object
:
Étape 1 : Obtenez les fichiers
Pour compter les fichiers, utilisez le cmdlet Get-ChildItem
, qui récupère une liste de fichiers et de dossiers dans le répertoire spécifié. Par défaut, il inclut également les sous-dossiers. Voici la commande :
$fileList = Get-ChildItem -Path $folderPath -File
Dans cette commande :
$fileList
contient les objets de fichiers.Measure-Object
calcule les propriétés des objets..Count
récupère le nombre d’objets.
Maintenant, la variable $fileCount
contient le nombre de fichiers dans le dossier spécifié.
Exemple de code
Voici le script PowerShell complet :
# 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"
Remplacez "C:\YourFolderPath"
par le chemin de votre dossier, et exécutez le script pour compter les fichiers.
Compter les fichiers dans les sous-dossiers
Si vous souhaitez également compter les fichiers dans les sous-dossiers, vous pouvez modifier la commande Get-ChildItem
. En utilisant le paramètre -Recurse
, vous indiquez à PowerShell d’inclure les sous-répertoires. Voici comment :
$fileList = Get-ChildItem -Path $folderPath -File -Recurse
Cette simple modification étend le comptage à tous les fichiers dans le dossier spécifié et ses sous-dossiers.
Utiliser Measure-Object pour le comptage des lignes dans un fichier
Le cmdlet Measure-Object
dans PowerShell est un outil polyvalent pour calculer les propriétés des objets, y compris le nombre de lignes dans les fichiers texte. Pour compter les lignes dans un fichier texte, nous allons utiliser le cmdlet Get-Content
en conjonction avec Measure-Object
.
Voici un guide étape par étape pour compter les lignes dans un fichier texte à l’aide de Measure-Object
:
Étape 1 : Lire le contenu du fichier
Pour compter les lignes, utilisez le cmdlet Get-Content
pour lire le contenu du fichier. Ce cmdlet lit chaque ligne du fichier et les stocke dans un tableau. Voici la commande :
$fileContent = Get-Content -Path $filePath
Dans cette commande :
-Path
spécifie le chemin du fichier texte.$fileContent
stocke les lignes du fichier texte sous forme de tableau.
Maintenant, vous avez chargé le contenu du fichier texte dans la variable $fileContent
.
Étape 2 : Mesurer le nombre de lignes
Utilisez le cmdlet Measure-Object
pour compter les lignes dans le fichier texte. Voici la commande :
$lineCount = ($fileContent | Measure-Object -Line).Lines
Dans cette commande :
$fileContent
contient les lignes du fichier texte.Measure-Object -Line
calcule le nombre de lignes..Lines
récupère le nombre de lignes.
Maintenant, la variable $lineCount
contient le nombre total de lignes dans le fichier texte.
Exemple de code complet
Voici le script PowerShell complet :
# 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"
Remplacez "C:\YourFilePath\YourFile.txt"
par le chemin de votre fichier texte, et exécutez le script pour compter les lignes.
Utiliser Measure-Object
pour le comptage des processus
Le cmdlet Measure-Object
dans PowerShell n’est pas limité au comptage des lignes ou des nombres. Il peut également compter des objets, ce qui en fait un outil précieux pour compter les processus. Nous allons utiliser Get-Process
pour récupérer la liste des processus, puis appliquer Measure-Object
pour les compter.
Voici un guide étape par étape sur le comptage des processus à l’aide de Measure-Object
:
Étape 1 : Récupérer la liste des processus
Commencez par utiliser le cmdlet Get-Process
pour obtenir une liste des processus en cours d’exécution. Stockez cette liste dans une variable pour une analyse ultérieure :
$processList = Get-Process
Dans cette commande :
$processList
stocke la liste des processus en cours d’exécution.
Maintenant, vous avez la liste des processus disponible dans la variable $processList
.
Étape 2 : Mesurer le nombre de processus
Ensuite, appliquez le cmdlet Measure-Object
pour compter les processus dans la liste. Voici la commande :
$processCount = ($processList | Measure-Object).Count
Dans cette commande :
$processList
contient la liste des processus.Measure-Object
calcule diverses propriétés des objets de la liste..Count
récupère le nombre d’objets.
La variable $processCount
contient désormais le nombre total de processus en cours d’exécution sur votre système.
Étape 3 : Afficher le résultat
Pour voir le nombre de processus, affichez la valeur stockée dans la variable $processCount
:
Write-Host "Number of processes running: $processCount"
Cette commande imprime un message incluant le nombre de processus.
Exemple de code complet
Voici le script PowerShell complet :
# 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"
Exécutez le script pour compter les processus en cours d’exécution sur votre système.
Utiliser Measure-Object pour le comptage des clés de registre
Lorsqu’il s’agit de compter les clés de registre, nous pouvons tirer parti de ce cmdlet avec le cmdlet Get-Item
, qui nous permet d’accéder aux clés de registre comme si elles étaient des chemins de système de fichiers.
Voici un guide étape par étape sur le comptage des clés de registre à l’aide de Measure-Object
:
Étape 1 : Accéder à la clé de registre
Commencez par utiliser le cmdlet Get-Item
pour accéder à la clé de registre spécifique que vous souhaitez compter. Vous pouvez spécifier le chemin du registre sous forme de chaîne :
$registryPath = "HKLM:\Software\YourRegistryKeyPath"
$registryKey = Get-Item -LiteralPath $registryPath
Dans cette commande :
$registryPath
stocke le chemin de la clé de registre que vous souhaitez compter.$registryKey
accède à la clé de registre.
Assurez-vous de remplacer "HKLM:\Software\YourRegistryKeyPath"
par le chemin réel de la clé de registre que vous souhaitez compter.
Étape 2 : Mesurer le comptage des clés de registre
Appliquez le cmdlet Measure-Object
pour compter les clés de registre dans le chemin spécifié :
$keyCount = (Get-ChildItem -Path $registryKey.PSPath).Count
Dans cette commande :
(Get-ChildItem -Path $registryKey.PSPath)
récupère les éléments enfants (clés de registre) dans le chemin spécifié..Count
récupère le nombre de clés de registre.
La variable $keyCount
contient maintenant le nombre total de clés de registre dans le chemin spécifié.
Exemple de code complet
Voici le script PowerShell complet :
# 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"
Remplacez "HKLM:\Software\YourRegistryKeyPath"
par le chemin réel de la clé de registre que vous souhaitez compter, et exécutez le script pour compter les clés de registre.
Utiliser Measure-Object pour compter des éléments
Lorsqu’il est utilisé avec des tableaux, Measure-Object
compte efficacement les éléments dans le tableau.
Voici comment compter des éléments dans un tableau à l’aide de Measure-Object
:
Étape 1 : Créer un tableau
Commencez par définir un tableau contenant les éléments que vous souhaitez compter. Vous pouvez créer manuellement un tableau ou utiliser des cmdlets ou des fonctions pour le peupler. Par exemple, créons un tableau simple :
$myArray = 1, 2, 3, 4, 5
Dans ce tableau, nous avons cinq éléments (les nombres 1 à 5) que nous souhaitons compter.
Étape 2 : Utilisez Measure-Object
Appliquez le cmdlet Measure-Object
pour compter les éléments dans le tableau :
$itemCount = ($myArray | Measure-Object).Count
Dans cette commande :
$myArray
est le tableau que vous souhaitez compter.Measure-Object
traite le tableau et fournit des informations à son sujet..Count
récupère le nombre d’objets dans le tableau.
La variable $itemCount
contient désormais le nombre total d’objets dans le tableau.
Exemple de code
Voici le script PowerShell complet :
# 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"
Exécutez le script, et il permettra de compter les éléments dans le tableau et d’afficher le compte.
Utiliser Measure-Object pour compter des lignes
Pour compter des lignes dans une chaîne à l’aide de Measure-Object
, suivez ces étapes :
Étape 1 : Créer une chaîne
Commencez par définir une chaîne PowerShell contenant le texte pour lequel vous souhaitez compter les lignes. Cette chaîne peut être créée manuellement ou obtenue à partir de diverses sources, telles que des fichiers, une saisie utilisateur ou des demandes web. Voici une chaîne d’exemple :
$text = @"
This is line 1.
This is line 2.
This is line 3.
"@
Dans cette commande :
$text
est la chaîne pour laquelle vous souhaitez compter les lignes.Measure-Object
traite la chaîne et fournit des informations sur le comptage des lignes.-Line
spécifie que nous voulons compter les lignes..Lines
récupère le compte des lignes à partir de la mesure.
La variable $lineCount
contient maintenant le nombre total de lignes dans la chaîne.
Étape 3 : Afficher le résultat
Pour voir le nombre de lignes, vous pouvez afficher la valeur stockée dans la variable $lineCount
:
Write-Host "Number of lines in the string: $lineCount"
Cette commande imprime un message qui inclut le compte des lignes de la chaîne.
Exemple de code
Voici le script PowerShell complet :
# 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"
Sortie :
Number of lines in the string: 3
Exécutez le script, et il comptera les lignes dans la chaîne et affichera le compte.
Utiliser Measure-Object pour compter les caractères
Pour compter les caractères dans une chaîne à l’aide de Measure-Object
, suivez ces étapes :
Étape 1 : Créer une chaîne
Commencez par définir une chaîne PowerShell contenant le texte pour lequel vous souhaitez compter les caractères. Cette chaîne peut être créée manuellement ou obtenue à partir de diverses sources, comme une saisie utilisateur ou des fichiers de données. Voici une chaîne d’exemple :
$text = "Hello, DelftStack!"
Dans cette commande :
$text
est la chaîne pour laquelle vous souhaitez compter les caractères.Measure-Object
traite la chaîne et fournit des informations sur le comptage des caractères.-Character
spécifie que nous voulons compter les caractères..Characters
récupère le nombre de caractères à partir de la mesure.
La variable $charCount
contient maintenant le nombre total de caractères dans la chaîne.
Étape 3 : Afficher le résultat
Pour voir le compte des caractères, vous pouvez afficher la valeur stockée dans la variable $charCount
:
Write-Host "Number of characters in the string: $charCount"
Cette commande imprime un message qui inclut le compte des caractères de la chaîne.
Exemple de code
Voici le script PowerShell complet :
# 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"
Sortie :
Number of characters in the string: 18
Exécuter ce script comptera les caractères dans la chaîne et affichera le compte des caractères.
Conclusion
Dans cet article, nous avons exploré deux outils essentiels dans PowerShell : l’opérateur Count
et le cmdlet Measure-Object
.
Ces outils vous permettent de compter et de mesurer efficacement des objets au sein des tableaux ou des collections, faisant de PowerShell une solution polyvalente pour l’analyse et la gestion des données.
En suivant les instructions étape par étape et les exemples fournis dans cet article, vous pouvez appliquer en toute confiance à la fois l’opérateur Count
et le cmdlet Measure-Object
dans vos scripts PowerShell.
Que vous travailliez avec des fichiers, des clés de registre, des processus, des tableaux ou des chaînes, ces outils sont indispensables pour vos efforts de scripting PowerShell.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn