PowerShell嵌套foreach与两者使用的数据?

时间:2016-06-18 16:42:29

标签: powershell powershell-v2.0 powershell-v3.0

我一直在研究一个多星期以来似乎很容易的事情。我想要做的是有两个包含数据的变量,并将它们作为东西循环使用。每个变量的数量会有所不同。有一点是不变的,对于$ 1中的每个条目,我想使用$ 2来构建命令并运行它。如果它返回数据,我会将其重定向/附加到文本文件。

例如:

$one = get-content C:\one.txt
$two =  get-content C:\two.txt

$one
jon
bob
ed
don

$two
phila
dallas
atlanta
tennessee
alabama
kentucky

期望的输出:

jon phila
jon dallas
jon atlanta
jon tennessee
jon alabama
jon kentucky
bob phila
bob dallas

依旧......

结果与此类似:

结果基本上是这样的:

jon phila
jon phila
jon phila
jon phila
jon phila
jon dallas
jon dallas

到目前为止我所拥有的:

foreach ($user in $one)
{
    foreach ($area in $two)
    {
        if (Test-Path $user$area)
        {
            echo $user $area >> output.txt
        }
    }
}

1 个答案:

答案 0 :(得分:0)

如果$one$two相对较小(<1,000件),我就会对您正在进行的操作进行编码,但我仍然不明白您的问题是什么有:是

$one = 'jon','bob','ed','don';
$two = 'phila','dallas','atlanta','tennessee','alabama','kentucky';
$result = @();

foreach ($user in $one)
{
    foreach ($area in $two)
    {
        $userarea = "$user $area";
        if (Test-Path $userarea) 
        {
            $result += $userarea;
        }
    }
}

Add-Content -Path .\output.txt -Value $result -Encoding UTF8;