Txt Dateien verketten mit Powershell
Hallo zusammen,
ich habe zwei Txt-Dateien:
In A.txt steht folgendes:
A
B
C
In B.txt steht folgendes:
1
2
3
Jetzt möchte ich gerne mit Powershell, dass an jede Zeile der Datei A.txt die Zeilen der Datei
B.txt angehangen werden. Das Ergebnis sollte so sein:
A1
A2
A3
B1
B2
B3
C1
C2
C3
Jemand eine Idee?
Danke und viele Grüße
Claudi
ich habe zwei Txt-Dateien:
In A.txt steht folgendes:
A
B
C
In B.txt steht folgendes:
1
2
3
Jetzt möchte ich gerne mit Powershell, dass an jede Zeile der Datei A.txt die Zeilen der Datei
B.txt angehangen werden. Das Ergebnis sollte so sein:
A1
A2
A3
B1
B2
B3
C1
C2
C3
Jemand eine Idee?
Danke und viele Grüße
Claudi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5606775767
Url: https://administrator.de/contentid/5606775767
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
6 Kommentare
Neuester Kommentar
[array]$file1 = Get-Content D:\test1.txt
[array]$file2 = Get-Content D:\test2.txt
$out = foreach($lineA in $file1){
foreach($lineB in $file2) {
$lineA + $lineB
}
}
$out | Set-Content D:\dateineu.txt
-- korrigiert da erst missverstanden --
Da wollte ich doch gerade das korrigieren und dann löscht Du das einfach
Moin,
Fast. Aber da ist ein Fehler drin:
Liebe Grüße
Erik
Moin,
Zitat von @5175293307:
[array]$file1 = Get-Content C:\file1.txt
[array]$file2 = Get-Content C:\file2.txt
$out = for ($i = 0; $i -lt $file1.Count;$i++){
$file1[$i] + $file2[$i]
}
$out | Set-Content dateineu.txt
Fast. Aber da ist ein Fehler drin:
$file1 = Get-Content C:\file1.txt
$file2 = Get-Content C:\file2.txt
$out = for ($i = 0; $i -lt ($file1.Count -1);$i++){
# Es soll **jede** Zeile aus file2 an die Zeile aus file1 angehängt werden
foreach($line in $file2) {
$file1[$i] + $line
}
}
$out | Set-Content dateineu.txt
Liebe Grüße
Erik
Da wollte ich doch gerade das korrigieren und dann löscht Du das einfach face-wink
Ja hatte ich erst überlesen das jede Zeile von A mit jeder Zeile aus B ausgegeben werden muss und nicht nur jede Zeile kombiniert mit der anderen , habe ich oben angepasst ...> $i -lt ($file1.Count -1)
Dann musst du aber bei der Variante auch aus -lt ein -le machen wenn du eins vom Count abziehst, sonst fehlt am Ende eine Zeile .Zitat von @Hatschi1:
Also alles aus der dritten Datei an jede Zeile der der zweiten Dateiund dann alles der zweiten Datei an jede Zeile der ersten Datei?
Also alles aus der dritten Datei an jede Zeile der der zweiten Dateiund dann alles der zweiten Datei an jede Zeile der ersten Datei?
Ja
[array]$file1 = Get-Content D:\test1.txt
[array]$file2 = Get-Content D:\test2.txt
[array]$file3 = Get-Content D:\test3.txt
$out = foreach($lineA in $file1){
foreach($lineB in $file2) {
$lineA + $lineB
}
}
$out += foreach($lineA in $file2){
foreach($lineB in $file3) {
$lineA + $lineB
}
}
$out | Set-Content D:\dateineu.txt
Oder willst du alle drei kombinieren? Dann mit einer weitere verschachtelten Schleife arbeiten ...
[array]$file1 = Get-Content D:\test1.txt
[array]$file2 = Get-Content D:\test2.txt
[array]$file3 = Get-Content D:\test3.txt
$out = foreach($lineA in $file1){
foreach($lineB in $file2) {
foreach($lineC in $file3) {
$lineA + $lineB + $lineC
}
}
}
$out | Set-Content D:\dateineu.txt