2016-08-05 57 views
1

In Powershell: Ich habe 2 Listen - FontIDList und FontDefinitionList. Ich möchte die erste Zeile von FontID nehmen und die erste Zeile von FontDefinition hinzufügen. Wiederholen Sie alle Elemente und schreiben Sie in eine Textdatei. Ich habe versucht:Hinzufügen einer Zeile aus einer Liste zu einer Zeile in einer Powershell der zweiten Liste

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

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

Neben $newContent = $FontIDList2 + FontDefList2 -und ich bin mir ziemlich sicher, dass ich eine Art von foreach zu verwenden, aber ich bin nicht sicher, ob der Syntax.

Antwort

1

Sie von Index iterieren könnte stattdessen eine for-Schleife und die Saiten dann verketten:

$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 

Beachten Sie, dass Add-Content in eine Datei hinzufügt, nicht sicher, ob das, was Sie eigentlich wollten.

+0

Ich wollte eine neue Textdatei machen (Auch würde es Ihnen etwas ausmachen Entfernen des \ dt # \ aus dem Verzeichnis, bedeuten nicht, es ursprünglich zu schreiben). Ich werde diesem Code eine Chance geben und sehen, was er tut! –

+0

Danke - es hat perfekt funktioniert, sobald ich die richtigen Namen der Listen eingegeben habe ... (habe die "2" vergessen, da ich eine zweite Liste benutzt habe, um Elemente aus einer ersten Liste zu halten). Jetzt um es auf den Master-Dateien auszuführen! –

2

Mit Linq Zip-Methode:

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

Nice one! Dachte nicht, Linq zu benutzen – briantist