2016-07-07 2 views
1

Ich habe einige vordefinierte Variablen, zB:Dynamische Variable in Powershell verwenden

$s1 = a 
$s2 = b 
... 
$s[x] = x 

Ich habe ein Skript, das über die serielle Schnittstelle an ein Gerät angeschlossen, einige Daten erhalten, die Zeichenfolge aufgeteilt und einen Wert bekommen ich brauche. Der Wert, den ich von der Zeichenfolge habe, die ich brauchte, um eine vordefinierte Variable zu erhalten.

In php mache ich es einfach so:

$var1 = a 
$var2 = b 
... 
$var[x] = x 


$i = something 
echo ${"var_name$i"} 

Wie kann ich das gleiche in Powershell tun? Ich versuchte

write-host $s$i 
write-host $s{$i} 
write-host ${s$i} 
write-host ${"s$i"} 

ohne Glück ... alles, was ich bekommen, ist entweder der Wert von $i oder leeren Raum

Antwort

1

Verwenden Sie die Get-Variable cmdlet :

Write-Host $(Get-Variable "s$i" -ValueOnly) 
+0

Danke. Genau das, was ich brauchte. Lief wie am Schnürchen. – xlucian

1

Sie suchen die Get-Variable Cmdlets:

Get-Variable 'i'