1

実行時に変数を宣言して値を割り当てるにはどうすればよいですか。

理由:SQLサーバーからこれらの変数値をフェッチしていますが、これらの変数値は本質的に構成可能です

今まで試したコード

   [array]$varArray = @($($ServerName),$($HostName)) 

 foreach($varname in $varArray)
        {
          $varname = "some test value"
        }

Write-Host $ServerName
Write-Host $HostName
4

2 に答える 2

7

動的に名前が付けられた変数を使用する最も簡単な方法は、辞書です。

$vars = @{}  # create empty dictionary

# add key/value pairs to dictionary:
$vars["foo"] = 23
$vars["bar"] = "foobar"
$vars["baz"] = Get-Content C:\sample.txt

別の方法は、その場で変数を宣言することです。

$name  = "foo"
$value = "bar"

New-Variable $name $value

echo $foo

または、 Kyle Cが提案したように、カスタムオブジェクトを作成してプロパティを追加することもできます。このアプローチは、技術的には異なりますが、辞書に似ています。

于 2013-03-26T22:23:35.123 に答える
2

NotePropertyをオブジェクトに追加してみてください。

$varname | Add-Member -type NoteProperty -name TestProperty -value "some test value" -PassThru

メンバーを追加できるオブジェクトのタイプについても、これを参照してください。Add-Memberに適したオブジェクトはどれですか。

于 2013-03-26T21:15:48.783 に答える