Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 链接两个foreach循环_Loops_Powershell_Foreach - Fatal编程技术网

Loops 链接两个foreach循环

Loops 链接两个foreach循环,loops,powershell,foreach,Loops,Powershell,Foreach,我正在努力解决这样一个问题:我有两个foreach循环 下面是一个例子: foreach($hostname in $csv) { foreach($dom in $domain) { $x = ($import -split '=')[1].substring(0) & $exe $arg1':'$hostname'.m'$dom'.local' } } 脚本应该像这样执行我的应用程序(只是一个示例): 所以

我正在努力解决这样一个问题:我有两个
foreach
循环

下面是一个例子:

foreach($hostname in $csv) 
{
     foreach($dom in $domain)
     {
           $x = ($import -split '=')[1].substring(0)
           & $exe $arg1':'$hostname'.m'$dom'.local'
     }
}
脚本应该像这样执行我的应用程序(只是一个示例):


所以每个主机名只有一个域。当我像这样执行脚本时,它会写出几个不同的主机名(应该是什么样子),但每个主机名都有相同的域(不应该是什么样子)。那么我如何“链接”这两个
foreach
循环呢?

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

$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

我建议以不同的方式构建参数字符串(如:
“${arg1}:${hostname}.m${dom}.local”
)。除此之外,应该为主机名和域的每个组合运行该语句。如果没有,请提供示例输入和您期望从该输入中获得的输出。谢谢,这很有效!应该想到“开箱即用”。
host1.domain1.tld
host2.domain2.tld
host3.domain3.tld