2011-10-20 10 views
0

オブジェクトを作成して番号を付ける方法はありますか?PowerShell - 異なる名前のオブジェクトを作成する

ループを実行して別の名前のオブジェクトを作成したいとします。

$url = "http://stackoverflow.com" 
$n = 30 

for($i = 0 ; $i -le $n; $i++) 
{ 
($ie +$i) = New-Object -ComObject InternetExplorer.Application 
($ie +$i).visible = $true 
($ie +$i).Navigate($url) 
} 

結果はオブジェクトになるように:

$ IE1 $ IE2 $ IE3 など

+1

@JPBlancによると、 'New-Variable'を使うことができますが、なぜオブジェクトの配列を作成しないのですか? '$ ie [0]'、 '$ ie [1]'などで個々のオブジェクトにアクセスすることができます。これにより、すべてのオブジェクトを繰り返し処理することが容易になります(例えば、Internet Explorerのすべてのインスタンスを閉じます。すなわち| foreach {$ _。Quit()} ') – Rynant

答えて

2

あなたが名前dynamicalyを構成ウィッヒでVARを作成するNew-Variableコマンドレットを使用することができます。

PS C:\Temp> $a = "AV" 
PS C:\Temp> $newV = New-Variable -Name ($a+"123") -Value (New-Object -ComObject InternetExplorer.Application) 
PS C:\Temp> Get-Variable av123 

Name       Value 
----       ----- 
AV123       System.__ComObject 
関連する問題