1

ループと配列を学び始めたところです。配列内の単一の変数を呼び出す方法を理解しています。つまり:

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

私が理解しようとしているのは、2つの異なる配列から2つの異なる変数を呼び出す方法です...つまり:

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

これは私が混乱している部分です。foreach ループを呼び出して両方のファイルを同時に循環するにはどうすればよいですか?

望ましい出力: ホワイト ライオンは今夜眠る、クロヒョウは今夜眠る、など...

4

2 に答える 2

2

1 つの方法は、arry インデックスを使用することです。両方のファイルの行数が同じであると仮定します。

$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:\ に 2 つのテキスト ファイル (エントリ数が同じ) があると仮定すると、次のように記述できます。

$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 に答える