链接两个foreach循环

时间:2016-01-26 15:02:59

标签: loops powershell foreach

我在我遇到两个foreach循环的情况下挣扎。

以下是一个例子:

foreach($hostname in $csv) 
{
     foreach($dom in $domain)
     {
           $x = ($import -split '=')[1].substring(0)
           & $exe $arg1':'$hostname'.m'$dom'.local'
     }
}

脚本应该像这样执行我的应用程序(只是一个例子):

EXAMPLE.exe /h:examplehostname1.mEXAMPLEDOMAIN.local

因此每个主机名只有一个域。当我执行这样的脚本时,它会写出几个不同的主机名(它应该如何),但是每个主机名都有相同的域(它应该是怎么回事)。那我该如何联系'那两个foreach循环?

1 个答案:

答案 0 :(得分:1)

如果你有两个相应主机名和域的数组,如下所示:

$csv = @('host1','host2','host3')
$doms = @('domain1','domain2','domain3')

对每个数组使用for循环和索引:

for($i = 0; $i -lt $csv.Count; $i++){
  $hostname = $csv[$i]
  $domain   = $doms[$i]
  "{0}.{1}.com" -f $hostname,$domain
}

结果:

host1.domain1.tld
host2.domain2.tld
host3.domain3.tld