171 votes

Powershell - Sélectionnez les valeurs d'une propriété sur tous les objets d'un tableau

Désolé, je suis encore un noob sur Powershell et je ne pouvais pas trouver une réponse sur Internet...

Disons que nous avons un tableau d'objets $objets. Disons que ces objets ont une propriété "Nom".

C'est ce que je veux faire

 $results = @()
 $objects | %{ $results += $_.Name }

cela fonctionne, mais peut-il être fait sur une meilleure façon?

Si je fais quelque chose comme :

 $results = objects | Select Name

$résultats est un tableau d'objets ayant un Nom de propriété. Je veux $résultats pour contenir un tableau de Noms

Alors, est-il un meilleur moyen ?

Thx a lot

258voto

Scott Saad Points 8894

Je pense que vous pourriez être en mesure d'utiliser l' ExpandProperty paramètre de Select-Object.

Par exemple, pour récupérer la liste du répertoire en cours et avoir juste le Nom de la propriété qui est affiché en ferait suivantes:

ls | Select -Property Name

C'est encore de retour DirectoryInfo ou FileInfo objets. Vous pouvez toujours inspecter le type à venir dans le pipeline par des conduites à Get-member (gm).

ls | Select -Property Name | gm

Donc, pour élargir l'objet à celle du type de propriété que vous recherchez, vous pouvez effectuer les opérations suivantes:

ls | Select -ExpandProperty Name

Dans votre cas, vous pouvez simplement faire ce qui suit pour avoir une variable, un tableau de chaînes de caractères, où les cordes sont le Nom de la propriété:

$objects = ls | Select -ExpandProperty Name

85voto

rageandqq Points 184

Comme solution encore plus simple, vous pouvez simplement utiliser:

 $results = $objects.Name
 

Ce qui devrait remplir $results avec un tableau de toutes les valeurs de propriété 'Nom' des éléments dans $objects .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X