2017-08-02 13 views
0

このスクリプトの冒頭で、いくつかの変数($ numof0 = 3、$ numof1 = 5など)を設定しました。これらの変数をすべてコンソールに書きたいのですが、以下の10個のwrite-hostステートメントよりも慎重にしたいと思います。文字列+第2変数を使用して変数を作成する

Write-Host "There are $numOf0 0's" 
Write-Host "There are $numOf1 1's" 
Write-Host "There are $numOf2 2's" 
Write-Host "There are $numOf3 3's" 
Write-Host "There are $numOf4 4's" 
Write-Host "There are $numOf5 5's" 
Write-Host "There are $numOf6 6's" 
Write-Host "There are $numOf7 7's" 
Write-Host "There are $numOf8 8's" 
Write-Host "There are $numOf9 9's" 

私はすべての変数が同じ始まり($ numof)と増加して、すべての端を持っているので、私はこのような何かを行うことができます考え出し..

$j=0 
while($j -lt 10){ 
    $final = '$numof'+"$j" 
    write-host "There are $final $j's" 
    $j++ 
} 

明らかに変数$決勝がありますしかしただの文字列であり、コンソールに出力されたときには、対応する$ numofX変数の内容は表示されません。

文字列と別の変数(文字列 '$ numof'と変数 '$ j')を使用して1つの変数($ final)を作成し、それでも$ numOfX変数の元の内容を参照する方法はありますか?

+7

セット/新変数は、トリックを行いますコマンドとして入力しているかのように、あなたの文字列を評価し、将来の世代の愛のためにハッシュテーブルや配列 –

+0

ああ良いを使用してくださいすることができますコール。それは配列です。 – highupinthenorth

答えて

0

Invoke-Expressionは、それが

$j=0 
while($j -lt 10){ 
    $final = Invoke-Expression -Command ('$numof'+"$j") 
    write-host "There are $final $j's" 
    $j++ 
} 
関連する問題