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

Ausgedruckt am: 23.11.2024 um 08:11 Uhr

Spades88
Spades88 17.09.2024 um 12:58:55 Uhr
Goto Top
Das ist nur ein Bespielskript was ich angefertigt habe um meine Problematik zu erklären.
Delta9
Delta9 17.09.2024 um 13:14:31 Uhr
Goto Top
150704
Lösung 150704 17.09.2024 aktualisiert um 13:41:13 Uhr
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 17.09.2024 aktualisiert um 13:32:06 Uhr
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 17.09.2024 um 14:19:41 Uhr
Goto Top
Es hat funktioniert. Vielen vielen Dank!