Compter ou calculer les propriétés numériques des objets, comme les caractères, les mots et les lignes dans les objets de chaîne, peut être exaspérant. Heureusement, la cmdlet Measure-Object
de PowerShell est à la hauteur de la tâche.
Dans ce tutoriel, vous apprendrez la puissance de la cmdlet Measure-Object
pour automatiser la mesure des propriétés des objets dans PowerShell.
Plongez directement pour améliorer vos compétences en mesure d’objets!
Prérequis
Ce tutoriel est une démonstration pratique. Pour suivre, vous aurez besoin d’un système avec PowerShell installé. Ce tutoriel utilise Windows 10 avec PowerShell v7.
Compter les fichiers et les dossiers
Connaître le nombre de fichiers et de dossiers dans un répertoire peut être utile dans divers scénarios. Un exemple est lorsque vous devez surveiller la taille d’un dossier ou vérifier le nombre de fichiers dans un répertoire.
La cmdlet Measure-Object
compte le nombre de fichiers et de dossiers dans un répertoire. Le décompte exact vous aide à mieux gérer et optimiser vos ressources système.
Pour voir comment la cmdlet Measure-Object
fonctionne pour compter les fichiers et les dossiers:
1. Ouvrez PowerShell et exécutez la commande suivante Get-ChildItem
pour compter et retourner le total des fichiers et dossiers collectivement (Measure-Object
) dans votre répertoire actuel.
La sortie ci-dessous indique 4852 fichiers et dossiers dans le répertoire actuel.

Peut-être souhaitez-vous inclure tous les fichiers et sous-répertoires dans l’arborescence du répertoire de manière récursive. Si tel est le cas, ajoutez le paramètre
-Recurse
, comme indiqué ci-dessous.Get-ChildItem -Recurse | Measure-Object
2. Ensuite, exécutez la même commande ci-dessous comme vous l’avez fait à l’étape un. Mais cette fois, ajoutez le paramètre -Directory
pour ne compter que les répertoires totaux dans le répertoire de travail.
Comme vous pouvez le voir ci-dessous, le décompte total est maintenant plus bas (135) puisque la commande a compté uniquement les répertoires, excluant tous les autres objets.

3. Maintenant, exécutez la commande ci-dessous pour compter les fichiers exécutables (.exe
) dans votre répertoire actuel.
Le paramètre -Filter
indique à la cmdlet Get-ChildItem
de filtrer les résultats et de ne retourner que les fichiers avec l’extension que vous spécifiez (c’est-à-dire, *.txt
, *.jpg
, *.csv
).

Mesurer les tailles de fichiers
La mesure des longueurs et des tailles des objets peut aider à mieux gérer votre système car les gros fichiers affectent les performances de votre système. En plus de compter les propriétés, vous pouvez également mesurer la longueur et la taille des objets via la cmdlet Measure-Object
.
Exécutez le code ci-dessous pour récupérer tous les fichiers dans le répertoire actuel (Get-ChildItem
) et afficher (Write-Host
) leurs longueurs respectives en octets par défaut.
Le code ci-dessous affiche chaque mesure dans la console, y compris les tailles de fichier minimales et maximales, la taille moyenne des fichiers, la somme des tailles de fichier et le nombre total de fichiers.
Ci-dessous, vous pouvez voir les tailles affichées en octets.

Peut-être que coller le code dans la console n’est pas votre truc. Si c’est le cas, enregistrez le code dans un fichier de script PowerShell et exécutez-le.
Maintenant, exécutez les commandes suivantes pour obtenir un fichier dans le répertoire actuel, où (Where-Object
) sa taille ($_.Length
) est égale (-eq
) à la taille maximale du fichier ($files.Maximum
).
La sortie ci-dessous montre le nom du fichier le plus volumineux dans le répertoire actuel.

Mesure du contenu d’un fichier texte
Au lieu de mesurer les tailles de fichier, vous devrez peut-être déterminer le nombre de lignes, de mots ou de caractères dans un fichier texte. Si tel est le cas, la cmdlet Measure-Object
a de nombreux autres paramètres pour mesurer le contenu d’un fichier texte.
Exécutez le code ci-dessous pour mesurer le contenu du fichier texte (Measure-Object
) par -Character
, -Line
, et -Word
, et afficher (Write-Host
) les mesures.
Assurez-vous de modifier les valeurs des variables $file_path
et $file_content
avec vos propres valeurs préférées.

Mesure des valeurs booléennes
Les valeurs booléennes sont des valeurs qui peuvent seulement être vraies ou fausses. En PowerShell, les valeurs booléennes sont souvent utilisées pour contrôler le flux d’un script, déterminer une condition (vrai ou faux), ou indiquer le succès ou l’échec d’une commande.
La mesure des valeurs booléennes peut être utile dans divers scénarios, tels que :
- Compter le nombre de valeurs vraies ou fausses dans un ensemble de données.
- Déterminer le pourcentage de valeurs vraies par rapport au nombre total de valeurs.
Ces informations peuvent aider à prendre des décisions éclairées dans le traitement ou l’analyse des données.
Pour voir comment fonctionne la mesure des valeurs booléennes :
Exécutez les commandes suivantes pour compter la somme des valeurs booléennes (valeurs vraies par défaut) dans le tableau (\code{$valeurs$}).
Ci-dessous, le total \diy10{Compte} des valeurs booléennes est neuf (\diy11{9}), tandis que la \diy12{Somme} est cinq (\diy13{5}) puisque seules les valeurs vraies sont comptées.
Et les valeurs fausses ? Passez à l’étape suivante et exécutez quelques commandes supplémentaires.

Maintenant, exécutez le code ci-dessous pour soustraire la somme des valeurs vraies (\code{\$trueCount}) du total des valeurs booléennes (\code{\$count}). La différence de l’équation est le total des valeurs fausses (\code{\$falseCount}).

Si mesurer des valeurs booléennes est une tâche quotidienne, vous pouvez créer une fonction que vous pouvez appeler à tout moment pour exécuter la tâche.
Mesure des tableaux de hachage
Les tableaux de hachage en PowerShell (une collection de paires clé-valeur) vous permettent de stocker et de récupérer des données rapidement et efficacement. Si vous avez besoin du nombre d’éléments dans un tableau de hachage ou des valeurs maximale et minimale, laissez la commande Measure-Object
mesurer vos tableaux de hachage.
Exécutez les commandes ci-dessous pour trouver les valeurs -Minimum
et -Maximum
de la propriété Num
dans votre tableau de hachage ($MyHastable
).

Mesure des écart-types
Réviser des ensembles de données peut être décousu, mais cela n’est pas nécessaire. Mesurer l’écart type est utile pour comprendre la distribution des valeurs d’un ensemble de données. Vous pouvez également identifier tout écart ou point de données inhabituel qui pourrait influencer les résultats.
L’écart type mesure la variation ou la dispersion des valeurs d’un ensemble de données par rapport à la valeur moyenne. Cette mesure est calculée en trouvant la racine carrée de la variance des données, qui est la moyenne des différences au carré par rapport à la moyenne.
Exécutez le code ci-dessous pour calculer et afficher la -Moyenne
et la -ÉcartType
d’un tableau de nombres stocké dans la variable $Nombres
.
En statistiques, la moyenne mesure la tendance centrale, décrivant la valeur typique ou la plus représentative d’un ensemble de données.
La moyenne est calculée en additionnant tous les chiffres d’un ensemble de données et en divisant par le nombre total de valeurs. Dans cet exemple, l’ensemble de données est {10
, 20
, 30
, 40
, 50
} avec une somme de 150, et cinq chiffres (5
) sont dans l’ensemble.
Par conséquent, la moyenne est calculée ci-dessous, ce qui donne 30
.
En revanche, l’écart type mesure la dispersion d’un ensemble de données. L’écart type est calculé comme suit:

Conclusion
Mesurer les données est une tâche essentielle, et la commande Measure-Object
de PowerShell est un outil puissant pour accomplir cette tâche. Et dans ce tutoriel, vous avez appris comment mesurer les données de plusieurs manières. Que vous travailliez avec des fichiers, le contenu de fichiers texte, des valeurs booléennes, des chaînes de caractères, des tableaux ou des tables de hachage, les mesurer peut fournir des informations précieuses.
Maintenant, vous pouvez facilement calculer la moyenne, la valeur maximale et minimale de vos données et mesurer la variation ou la dispersion de vos données. Avec ces fonctionnalités, vous pouvez obtenir une compréhension plus approfondie de vos données et prendre des décisions éclairées basées sur votre analyse.
Avec ces connaissances acquises, pourquoi ne pas étendre votre boîte à outils PowerShell et ajouter Compare-Object
à votre arsenal?
Source:
https://adamtheautomator.com/powershell-measure-object/