0

私はこの配列を持っています:

$server = @("value 1", "value 2")

そして、この配列は、テーブルの一部になります:

$HtmlHeader= @"
<tr>
<th class="vcenter" colspan="5">$server[$i]</th>
</tr>
<tr>
<th class="colnames">Nome</th>
<th class="colnames">Dimensione (MB)</th>
<th class="colnames">VM</th>
<th class="colnames">Stato VM</th>
<th class="colnames">Data Creazione</th>
</tr>
"@

しかし、出力は次のとおりです。

値 1 値 2[1]

値 1 値 2[2]

どうすれば修正できますか。2番目の配列は for サイクルの一部であり、$iその中で定義されています。

4

2 に答える 2

1

おそらく、複数行の文字列を に変更$server[$i]する必要があり$($server[$i])ます。ただし、コードの多くを示していないため、見分けるのは困難です。

于 2013-07-04T15:23:59.010 に答える
0

そのような文字列に配列を埋め込むことはできません。PowerShell$server[$i]は異なる文字列、つまり then として$server解釈します[$i]。これにより、配列全体が吐き出され、その後に の値が続きます$idx。変数を文字列に直接埋め込むのではなく、フォーマット文字列を使用するのが好きです。そうすれば、変数の埋め込みがうまくいかない可能性があるすべての方法について心配する必要はありません。

$HtmlHeader= @"
<tr>
  <th class="vcenter" colspan="5">{0}</th>
</tr>
<tr>
  <th class="colnames">Nome</th>
  <th class="colnames">Dimensione (MB)</th>
  <th class="colnames">VM</th>
  <th class="colnames">Stato VM</th>
  <th class="colnames">Data Creazione</th>
</tr>
"@ -f $server[$i]
于 2013-07-04T19:45:41.363 に答える