powershell 多维数组 foreach

powershell 多维数组 foreach

Powershell 脚本(win10)

function eineFunction($meinHost, $meinPass){  
    Write-Host $meinHost "--"  
    Write-Host $meinPass "--"  
}  

$MeineHosts=(  
    ("host1", "pass1"),  
     ("host2", "pass2")  
   )  
  
clear  
foreach($row in $MeineHosts){  
    Write-Host $row[0]  
    Write-Host $row[1]   
    eineFunction($row[0], $row[1])  
    }  

输出:

host1   
pass1   
host1 pass1 --  
--   
host2   
pass2  
host2 pass2 --  

所需输出:

host1   
pass1   
host1 --   
pass1 --   
host2   
pass2   
host2 --  
pass2 --  

我做错了什么?
谢谢

答案1

应调用 PowerShell 中的函数没有括号 – 它们的作用类似于命令。例如:

eineFunction $row[0] $row[1]

如果你使用($row[0], $row[1]),这实际上会创建一个新的2 项列表将作为第一个参数传递 - 而没有任何内容作为第二个参数传递。

相关内容