Comment puis-je obtenir (gci) .count pour renvoyer les valeurs numériques appropriées pour les listes vides ou uniques?

En relation:
Comment puis-je écrire un script pour compter les fichiers modifiés dans un mois donné?

Lorsque j'essaie d'obtenir un nombre d'éléments, par exemple avec (gci).count pour compter les fichiers dans un dossier, PowerShell ne renvoie aucune sortie pour les listes vides ou les listes contenant seulement un élément. Cela fonctionne bien pour les listes contenant plusieurs éléments.

Entrez la description de l'image ici

Comment puis-je obtenir PowerShell pour renvoyer des valeurs numériques appropriées pour tous les cas? C'est-à-dire: comment puis-je obtenir un zéro réel pour les listes vides, et sortir un pour les listes d'un seul élément?

Mon cas d'utilisation particulier, tel que décrit plus en détail dans la question liée ci-dessus, consiste à obtenir un nombre d'éléments dans une liste résultant de la gci une gci commande gci vers l' where .

Ceci a trait au fait que powershell, lors du renvoi d'un tableau de 1 élément, il suffit d'effondrer le tableau dans cet élément unique.

Avant la version 3, cela résulterait d'un objet sans propriété de count attendu et votre résultat serait vide. Cela a été "corrigé" dans la version 3 .

Donc vous avez 2 options:

  1. Mise à niveau vers Powershell v3
  2. Activez la solution de contournement suivante lorsque vous imprimez toujours vos résultats en tant que type de tableau @() :

    @ (Gci) .count