2016-08-05 2 views
1

В Powershell: У меня есть 2 списка: FontIDList и FontDefinitionList. Я хочу взять первую строку FontID и добавить первую строку FontDefinition. Повторяйте все элементы, затем напишите в текстовый файл. Я пробовал:Добавление строки из списка в строку во втором списке Powershell

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

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

Как $newContent = $FontIDList2 + FontDefList2 -И я уверен, что мне нужно использовать какой-то foreach, но я не уверен синтаксиса.

ответ

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 добавляет в файл, не уверен, что это то, что вы на самом деле хотели.

+0

Я хочу, чтобы создать новый текстовый файл (также, не могли бы вы удаление \ дт # \ из каталога, не имел в виду, чтобы разместить его изначально). Я дам этот код выстрелу и посмотрю, что он делает! –

+0

Спасибо, он отлично работал, как только я ввел правильные имена списков ... (забыли «2», так как я использовал второй список для хранения элементов из первого списка). Теперь запустить его на главные файлы! –

2

С помощью метода Zip Linq в:

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

Ницца! Не думал использовать Linq – briantist

Смежные вопросы