Textdatei bestimmte strings auslesen, dateinamen einfügen, tabelle speichern
Hallo Leute,
ich bin erst seit kurzem am Skripten mit powershell/batch und stehe nun vor einem kniffligen Problem; ich weiß nicht wie ich das mit welchem tool lösen könnte.
Ich habe eine unstrukturierte Textdatei mit aufsteigender Uhrzeit und 6 "Spalten". Es gibt durchgehend vom Aufbau nur 2 fast identische Zeilen, nur in der 6ten Spalte ist ein anderer Text.
Die Spalten mit den Varianten: 1 : Uhrzeit, String, String, String, String, String Nummer(Order)
2 : Uhrzeit, String, String, String, String, String Nummer(Soll) String Nummer(Ist)
Aus dieser Textdatei möchte ich mir Uhrzeit und die Nummern auslesen lassen und exportieren.
Die Tabelle möchte ich mit folgenden Spaltenköpfen ausgeben: RechnerNr, Datum, Uhrzeit, OrderNr, Nummer(Soll), Nummer(Ist).
Die Spalten RechnerNr, Datum müssten vom Dateinamen (Datum-RechnerNr) in die Tabelle vorne importiert/kopiert werden.
Problematisch wird es bei der OrderNr. Zuerst kommt Variante/Zeile 1 mit einer OrderNr, darauffolgend kommt eine beliebige Anzahl an Varianten/Zeilen mit unterschiedlichen Nummer(Soll) und Nummer(Ist), welche eine Teilmenge der OrderNr sind.
Ich hoffe ihr könnt mir irgendwie folgen und weiterhelfen. Danke im Voraus für die Hilfe!
ich bin erst seit kurzem am Skripten mit powershell/batch und stehe nun vor einem kniffligen Problem; ich weiß nicht wie ich das mit welchem tool lösen könnte.
Ich habe eine unstrukturierte Textdatei mit aufsteigender Uhrzeit und 6 "Spalten". Es gibt durchgehend vom Aufbau nur 2 fast identische Zeilen, nur in der 6ten Spalte ist ein anderer Text.
Die Spalten mit den Varianten: 1 : Uhrzeit, String, String, String, String, String Nummer(Order)
2 : Uhrzeit, String, String, String, String, String Nummer(Soll) String Nummer(Ist)
Aus dieser Textdatei möchte ich mir Uhrzeit und die Nummern auslesen lassen und exportieren.
Die Tabelle möchte ich mit folgenden Spaltenköpfen ausgeben: RechnerNr, Datum, Uhrzeit, OrderNr, Nummer(Soll), Nummer(Ist).
Die Spalten RechnerNr, Datum müssten vom Dateinamen (Datum-RechnerNr) in die Tabelle vorne importiert/kopiert werden.
Problematisch wird es bei der OrderNr. Zuerst kommt Variante/Zeile 1 mit einer OrderNr, darauffolgend kommt eine beliebige Anzahl an Varianten/Zeilen mit unterschiedlichen Nummer(Soll) und Nummer(Ist), welche eine Teilmenge der OrderNr sind.
Ich hoffe ihr könnt mir irgendwie folgen und weiterhelfen. Danke im Voraus für die Hilfe!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 392079
Url: https://administrator.de/forum/textdatei-bestimmte-strings-auslesen-dateinamen-einfuegen-tabelle-speichern-392079.html
Ausgedruckt am: 25.12.2024 um 07:12 Uhr
4 Kommentare
Neuester Kommentar
Ich hoffe ihr könnt mir irgendwie folgen und weiterhelfen.
Mit Beispieldatei mit IST und SOLL Zustand sicherlich , so wird das ehrlich gesagt zum Ratespiel mit mehr Fragen als Antworten.Gruß l.
Bidde:
$folder = 'D:\Bastian94'
gci $folder -File -Filter *.txt -PipelineVariable file | %{
[regex]::matches((gc $_.Fullname -raw),'(?ism)JobId (\d+)(.*?)(?=JobId|\z)').Captures | ?{$_.Success} | %{
$jobid = $_.Groups[1].Value
[regex]::matches($_.Groups[2].Value,'(?ism)^(\d{2}:\d{2}:\d{2}).*?Benötigt "(\d+)".*?Gescannt "(\d+)"').Captures | ?{$_.Success} | %{
[pscustomobject]@{
RechnerNr = $file.BaseName.split("-")[1]
Datum = $file.BaseName.split("-")
Uhrzeit = $_.Groups[1].Value
OrderNr = $jobid
"Nummer(Soll)" = $_.Groups[2].Value
"Nummer(Ist)" = $_.Groups[3].Value
}
}
}
} | export-csv -LiteralPath "$folder\merged.csv" -Delimiter ";" -NoType -Encoding UTF8