Warum funktioniert mein PowerShell-Code nicht?
Es soll eine Textdatei erstellt werden. In diese soll etwas hineinkopiert werden.
Aus der Quelldatei soll ab da, wo "BIT Ident" steht, immer ein Vierzeilenblock kopiert werden, inklusive der Zeile wo "BIT Ident" steht und das soll in der Zieldatei gespeichert werden.
Die Zieldatei soll eine Textdatei sein und Ergebnis.txt heißen.
Warum geht es nicht?
Code:
# Pfad Quelldatei
$quelleDatei = "C:\Users\jusc114\Desktop\2169_VA.out"
# Pfad Zieldatei
$zielDatei = "C:\Users\jusc114\Desktop\Ergebnis.txt"
# Text der Quelldatei einlesen
$zeilen = Get-Content -Path $quelleDatei
# Variable für den gesammelten Text
$gesammelterText = ""
# Durchsuchen nach "BIT Ident"
foreach ($index in 0..($zeilen.Count - 1)) {
if ($zeilen[$index] -match "BIT Ident") {
# Zeile mit "BIT Ident" und die darauffolgenden 3 Zeilen hinzufügen
$gesammelterText += $zeilen[$index..($index + 3)] -join "`r`n"
# Eine Zeile Abstand hinzufügen
$gesammelterText += "`r`n"
}
}
# Text in Zieldatei speichern
$gesammelterText Set-Content -Path $zielDatei
Warum machst du es nicht einfach mit einer richtigen Programmiersprache?
Es darf nichts zusätzlich auf dem Rechner installiert werden. Aber ich hab es gelöst
1 Antwort
Warum geht es nicht?
einfach mal die Befehle direkt in der Powershell eingeben, dann gibts eien Abbruch-Fehler:
$gesammelterText Set-Content -Path $zielDatei
In Zeile:1 Zeichen:18
+ $gesammelterText Set-Content -Path $zielDatei
+ ~~~~~~~~~~~
Unerwartetes Token "Set-Content" in Ausdruck oder Anweisung.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
Powershell kann mit Deiner letzten Zeile nichts anfangen.
Wenn Du was per Pipe an ein Cmdlet übergeben möchtest musst dies auch tun😁
Du hast das Pipe-Symbol vergessen.
$gesammelterText|Set-Content -Path $zielDatei