2017-05-15 1 views
1

Comment puis-je saisir plusieurs valeurs dans PowerShell et les stocker dans une variable?Tableau pour lire différentes valeurs

Par exemple:

$value = Read-Host "Enter the value's" #I need 15 values to be entered. 

Et puis les rappeler par exemple:

$value[0] = 1233 
$value[1] = 2345 
+0

Qu'avez-vous essayé, et Comment avez-vous échoué? Idéalement, vous devriez fournir un [exemple minimal, complet et vérifiable] (http://stackoverflow.com/help/mcve) de ce que vous avez essayé, et inclure des informations spécifiques sur la façon dont il a échoué, avec des messages d'erreur et/ou sortie erronée. SO n'est pas un service d'écriture de code; les meilleures questions sont celles qui fournissent des informations utiles pour que ceux qui répondent puissent vous guider dans l'élaboration de votre propre réponse correcte. Voir [Comment poser une bonne question] (http://stackoverflow.com/help/how-to-ask). –

Répondre

2

Pour ce faire, vous pouvez déclarer un tableau @() puis utiliser une boucle et l'opérateur d'addition pour ajouter des éléments à la array (arrêt lorsqu'une valeur vide est soumise):

$values = @() 

Do{ 
    $value = read-host "Enter a value" 
    if ($value) {$values += $value} 
}Until (-not $value) 

Vous pouvez ensuite retri les valeurs veille que vous décrit via l'index avec des crochets []:

$values  #returns all values 
$values[3] #returns the fourth value (if you entered four or more) 

Prenez garde que les tableaux commencent de 0, de sorte que le premier élément est [0], le second est [1] etc. Avec PowerShell, vous pouvez également utiliser des nombres négatifs pour travailler dans le tableau arrière, donc [-1] est le dernier élément, [-2] la deuxième à la dernière, etc.

2

stocke les valeurs readin dans un tableau:

$values = @() 

$i = $null 
while ($i -ne "q") { 
    if ($i -ne $null) { 
     # Attach value to array 
     $values += $i 
    } 
    $i = Read-Host "Enter value (stop with q)" 
} 

# Print each value in a seperate line 
$values | % { Write-Host $_} 
# Print type -> to visualize that it is an array 
$values.GetType() 

# Several values can be retrieved via index operator 
$values[0]