spades88
Goto Top

Schleife (wie in Batch) in Powershell umsetzen

Hallo in die Runde,
https://administrator.de/edit/
ich bin ein ziemlich Anfänger was PowerShell angeht und daher benötige ich etwas Hilfe.
Hier mein Problem:

Ich möchte via PowerShell aus einer Textdatei, pro Zeile nur die ersten beiden "Wörter" (Werte) auslesen und als Variable weiter verarbeiten.

Über Batch bekomme ich das hin, möchte aber gerne gänzlich auf PowerShell umsteigen und an dieser Aufgabe scheitere ich aktuell kläglich.

Textdatei:
textdatei_auto

Skript über Batch:
batch_for_auto

Hat jemand von euch eine Idee wie man das in PS am besten umsetzt?

Content-ID: 668178

Url: https://administrator.de/contentid/668178

Printed on: September 17, 2024 at 13:09 o'clock

Spades88
Spades88 Sep 17, 2024 at 10:58:55 (UTC)
Goto Top
Das ist nur ein Bespielskript was ich angefertigt habe um meine Problematik zu erklären.
Delta9
Delta9 Sep 17, 2024 at 11:14:31 (UTC)
Goto Top
Ted555
Solution Ted555 Sep 17, 2024 updated at 11:41:13 (UTC)
Goto Top
Welche Trennzeichen? Tab? Leerzeichen? Es gibt auch Import-Csv

Zu Fuß gehts auch, z.B. so
foreach($line in Get-Content "D:\test.txt"){  
    $columns = $line -split '\s+'  
    write-host "Marke: $($columns[0])"  
    write-host "Baujahr: $($columns[1])"  
}

Wenn bspw. Tab als Delimiter mittels Import-CSV
foreach($line in Import-csv "D:\test.txt" -Delimiter "`t" -Header "Marke","Baujahr","Typ"){  
    write-host "Marke: $($line.Marke)"  
    write-host "Baujahr: $($line.Baujahr)"  
}
Spades88
Spades88 Sep 17, 2024 updated at 11:32:06 (UTC)
Goto Top
Vielen Danke für die Hilfestellungen.
Ich werde es gleich einmal ausprobieren.

Und um die Frage zu beantworten, ja die Wörter sind mit Tab getrennt
Spades88
Spades88 Sep 17, 2024 at 12:19:41 (UTC)
Goto Top
Es hat funktioniert. Vielen vielen Dank!