1

刚开始学习循环和数组。我了解如何调用数组中的单个变量,即:

$animals = gc "c:\temp\animals.txt"
foreach ($animal in $animals)
{write-host "The"$animal "sleeps tonight."}

我想弄清楚的是如何从两个不同的数组中调用两个不同的变量......即:

$animals = gc "c:\temp\animals.txt"
$colors = gc "c:\temp\colors.txt"

这是我感到困惑的部分。如何调用 foreach 循环同时循环两个文件?

期望的输出:白狮今晚睡觉,黑豹今晚睡觉,等等......

4

2 回答 2

2

一种方法是使用数组索引。假设两个文件具有相同的行数:

$animals = gc c:\temp\animals.txt
$colors = gc c:\temp\colors.txt

for($i=0; $i -lt $animals.length; $i++)
{
    #print first line from animals  
    $animals[$i]

    #print first line from colors
    $colors[$i]
}
于 2013-05-15T09:22:55.307 回答
0

假设您在 C:\ 中有两个文本文件(条目数相同),您可以编写如下内容 -

$c = 0
$animal = Get-Content C:\Animal.txt

Get-Content C:\Color.txt | Foreach-Object{
    Write-Host "The $_ $($animal[$c]) sleeps at night"
    $c++
}
于 2013-05-15T09:23:01.657 回答