RUBRIQUE
about_Arrays
DESCRIPTION COURTE
Décrit une structure de données compacte pour le stockage
d'éléments de données.
DESCRIPTION LONGUE
Un tableau est une structure de données servant à stocker une
collection d'éléments de données de même type. Windows PowerShell
prend en charge les éléments de données, tels que les types
string, int (entier 32 bits), long (entier 64 bits), bool
(Boolean), byte, ainsi que d'autres types d'objets Microsoft
.NET Framework.
CRÉATION ET INITIALISATION D'UN TABLEAU
Pour créer et initialiser un tableau, affectez plusieurs valeurs
à une variable.
Les valeurs stockées dans le tableau sont délimitées par une
virgule et séparées du nom de la variable par l'opérateur
d'affectation (=).
Par exemple, pour créer un tableau nommé $A contenant les sept valeurs
numériques (int) 22, 5, 10, 8, 12, 9 et 80, tapez :
$A = 22,5,10,8,12,9,80
Vous pouvez également créer et initialiser un tableau en utilisant
l'opérateur de plage (..). Par exemple, pour créer et initialiser
un tableau nommé " $B " qui contient les valeurs 5 à 8, tapez :
$B = 5..8
Par conséquent, le tableau $B contient quatre valeurs : 5, 6, 7 et 8.
Si aucun type de données n'est spécifié, Windows PowerShell crée
chaque tableau sous forme de tableau d'objets (type : object[]).
Pour déterminer le type de données d'un tableau, utilisez la méthode
GetType(). Par exemple, pour déterminer le type de données du tableau
$a, tapez :
$a.gettype()
Pour créer un tableau fortement typé, c'est-à-dire un tableau ne
pouvant contenir que des valeurs d'un type particulier, effectuez une
conversion de type (transtypage) de la variable vers le type tableau
(par exemple, string[], long[] ou int32[]). Pour effectuer une conversion
de type d'un tableau, faites précéder le nom de la variable d'un type
tableau entre crochets. Par exemple, pour créer un tableau d'entiers
32 bits nommé $ia et contenant quatre entiers (1500, 2230, 3350 et
4000), tapez :
[int32[]]$ia = 1500,2230,3350,4000
En conséquence, le tableau $ia ne peut contenir que des entiers.
Vous pouvez créer des tableaux dont le type sera converti
(transtypage) en n'importe quel type pris en charge dans Microsoft .NET
Framework. Par exemple, les objets que Get-Process récupère pour
représenter des processus sont de type System.Diagnostics.Process.
Pour créer un tableau fortement typé d'objets Process, entrez la
commande suivante :
[Diagnostics.Process[]]$zz = Get-Process
Vous pouvez remplir un tableau en utilisant la sortie d'une applet de
commande, d'une fonction ou d'une instruction. Par exemple, l'instruction
suivante crée un tableau contenant les processus dont le nom commence
par les lettres " co " et qui s'exécutent sur l'ordinateur actuel :
$LocalProcesses = get-process co*
Si l'instruction n'obtient qu'un seul processus, la variable
$LocalProcesses n'est pas un tableau. Pour que la commande crée
un tableau, utilisez l'opérateur de sous-expression de tableau,
@, comme indiqué dans l'exemple suivant :
$LocalProcesses = @(get-process co*)
Même si la commande retourne un processus unique, la variable
$LocalProcesses est un tableau. Même s'il ne comporte qu'un seul
membre, vous pouvez le traiter comme tout autre tableau. Par exemple,
vous pouvez lui ajouter d'autres objets. Pour plus d'informations,
consultez about_Operators.
LECTURE D'UN TABLEAU
Vous pouvez faire référence à un tableau en utilisant son nom de
variable, comme $A ou $a. Windows PowerShell ne respecte pas la casse.
Pour afficher tous les éléments du tableau, tapez son nom. Par
exemple :
$a
Vous pouvez faire référence aux éléments d'un tableau en utilisant
un index qui débute à la position 0. Placez le numéro d'index
entre crochets. Par exemple, pour afficher le premier
élément du tableau $a, tapez :
$a[0]
Pour afficher le troisième élément du tableau $a, tapez :
$a[2]
Les chiffres négatifs comptent à partir de la fin du tableau.
Par exemple, " -1 " fait référence au dernier élément du tableau.
Pour afficher les trois derniers éléments du tableau, tapez :
$a[-3..-1]
Toutefois, soyez prudent lorsque vous utilisez cette notation.
$a[0..-2]
Cette commande ne fait pas référence à tous les éléments du tableau,
excepté pour le dernier, mais au premier, au dernier et à
l'avant-dernier éléments du tableau.
Vous pouvez utiliser l'opérateur de plage pour afficher un
sous-ensemble de toutes les valeurs d'un tableau. Par exemple,
pour afficher les éléments de données situés aux positions
d'index 1 à 3, tapez :
$a[1..3]
Vous pouvez utiliser l'opérateur plus (+) pour combiner une plage
et une liste d'éléments d'un tableau. Par exemple, pour afficher
les éléments situés aux positions d'index 0, 2 et 4 à 6, tapez :
$a[0,2+4..6]
Pour déterminer le nombre d'éléments d'un tableau, combinez la
plage et la propriété length d'un tableau. Par exemple, pour
afficher les éléments situés entre la position d'index 2 et
la fin du tableau, tapez :
$a[2..($a.length-1)]
La longueur (length) a la valeur -1, car l'index débute à la
position 0. Par conséquent, dans un tableau à trois éléments (1,2,3),
l'index du troisième élément est 2, valeur égale à la longueur du
tableau, moins un.
Vous pouvez également utiliser des constructions, telles que des
boucles Foreach, For et While, pour faire référence aux éléments d'un
tableau. Par exemple, pour utiliser une boucle Foreach afin d'afficher
les éléments du tableau $a, tapez :
foreach ($element in $a) {$element}
La boucle Foreach parcourt le tableau et retourne chacune de ses
valeurs jusqu'à ce que la fin de ce dernier soit atteinte.
La boucle For est utile lorsque vous incrémentez des compteurs lors
de l'examen des éléments d'un tableau. Par exemple, pour retourner
une valeur sur deux d'un tableau au moyen d'une boucle For, tapez :
for ($i = 0; $i -le ($a.length - 1); $i += 2) {$a[$i]}
Vous pouvez utiliser une boucle While pour afficher les éléments d'un
tableau jusqu'à ce qu'une condition définie par l'utilisateur ne soit
plus remplie. Par exemple, pour afficher les éléments du tableau $a
tant que l'index du tableau est inférieur à 4, tapez :
$i=0
while($i -lt 4) {$a[$i]; $i++}
Pour en savoir plus sur les propriétés et méthodes d'un tableau,
telles que la propriété Length et la méthode SetValue, utilisez
le paramètre InputObject de l'applet de commande Get-Member.
Lorsque vous dirigez un tableau vers Get-Member, des informations
sur les objets contenus dans le tableau s'affichent. Lorsque vous
utilisez le paramètre InputObject, des informations sur le tableau
s'affichent.
Pour rechercher les propriétés et méthodes du tableau $a, tapez :
get-member -inputobject $a
MANIPULATION D'UN TABLEAU
Vous pouvez modifier les éléments d'un tableau, ajouter un
élément à un tableau et combiner les valeurs de deux tableaux
dans un troisième.
Pour modifier la valeur d'un élément particulier d'un tableau,
spécifiez le nom du tableau et l'index de l'élément concerné,
puis utilisez l'opérateur d'affectation (=) pour spécifier une
nouvelle valeur pour cet élément. Par exemple, pour remplacer la
valeur du deuxième élément du tableau $a (position d'index 1) par
10, tapez :
$a[1] = 10
Vous pouvez également utiliser la méthode SetValue d'un tableau pour
modifier une valeur. Dans l'exemple suivant, la deuxième valeur
(position d'index 1) du tableau $a est remplacée par 500 :
$a.SetValue(500,1)
Vous pouvez ajouter un élément à un tableau existant en utilisant
l'opérateur +=. Cet opérateur ajoute une valeur à une valeur existante.
Lorsque l'opérateur est utilisé sur un élément de tableau, il augmente
la valeur de cet élément. Lorsqu'il est employé sur le tableau
lui-même, il ajoute la valeur au tableau. Par exemple, pour ajouter un
élément dont la valeur est 200 au tableau $a, tapez :
$a += 200
Il n'est pas facile de supprimer des éléments d'un tableau, mais
vous pouvez créer un tableau qui ne contiendra que les éléments
sélectionnés d'un tableau existant. Par exemple, pour créer le
tableau $t avec tous les éléments du tableau $a à l'exception de
la valeur située à la position d'index 2, tapez :
$t = $a[0,1 + 3..($a.length - 1)]
Pour combiner deux tableaux en un seul, utilisez l'opérateur plus (+).
L'exemple suivant permet de créer deux tableaux, de les combiner,
puis d'afficher le tableau combiné obtenu.
$x = 1,3
$y = 5,9
$z = $x + $y
En conséquence, le tableau $z contient 1, 3, 5 et 9.
Pour supprimer un tableau, utilisez l'applet de commande Remove-Item
afin de supprimer la variable qui le contient. La commande suivante
spécifie l'élément " a " du lecteur Variable:.
remove-item variable:a
(Pour plus d'informations sur le lecteur Variable:, consultez la
rubrique d'aide « Fournisseur Variable ».)
VOIR AUSSI
about_Assignment_Operators
about_Hash_Tables
about_Operators
about_For
about_Foreach
about_While