将List中的行添加到第二个列表Powershell中的行

时间:2016-08-05 16:24:15

标签: powershell arraylist comparison concatenation concat

在Powershell中:我有2个列表 - FontIDList和FontDefinitionList。我想取第一行FontID并添加FontDefinition的第一行。重复所有元素,然后写入文本文件。我试过了:

$newContent = $FontIDList2 | foreach {$_ + $FontDefList2}

Add-Content "C:\Desktop\MasterFontList-TimeStamps\TestLatestDate.txt" -value $newContent

$newContent = $FontIDList2 + FontDefList2一样 - 我很确定我需要使用某种foreach,但我不确定语法。

2 个答案:

答案 0 :(得分:2)

使用Linq的Zip方法:

$selector = [func[object, object, object]] { 
    param($x1, $x2)
    $x1 + $x2 
}
[Linq.Enumerable]::Zip($FontIDList2, $FontDefList2, $selector) | Add-Content out.txt

答案 1 :(得分:1)

您可以使用for循环按索引进行迭代,然后连接字符串:

$newContent = for ($i = 0 ; $i -lt $FontIDList.Count ; $i++) {
    $FontIDList[$i] + $FontDefList2[$i]
}
Add-Content "C:\Users\dtxxxxx\Desktop\MasterFontList-TimeStamps\TestLatestDate.txt" -value $newContent

请注意,Add-Content会添加到文件中,不确定这是否是您真正想要的。