patrickhh
Goto Top

Textdatei Zeilenweise splitten und jeweils in Textdatei schreiben

Hallo liebe Community,

ich habe leider selber nicht so viel, bzw. keine Ahnung von Powershell oder CMD Befehlen und hier im Forum leider nichts gefunden was auf mein Problem zutrifft.

Ich habe eine Textdatei mit Metadaten, wo jede Zeile grundsätzlich gleich aufgebaut ist.
Ich möchte jetzt diese Datei splitten und es soll jede Zeile in eine eigene .txt geschrieben werden.
Dabei soll der Dateiname aus dem letzten Punkt generiert werden.

Hier mal eine Beispielzeile.

"WTW";"";"LS";"10262284";"26062019";"342921";"Mérötranszformátor Kft.";"10262284";"10206557";"26062019";"997/0";"l1262284.pdf"
"WTW";"";"LS";"10262285";"26062019";"342921";Instrument Transformers";"97514";"10262296";"26062019";" ";"997/0";"l1262296.pdf"


So sind alle Zeilen aufgebaut und das Fett geschriebene soll dann den Dateinamen bilden. Es handelt sich ausschließlich um die Endung .pdf.

Ich hoffe es kann mir jemand helfen, ich bin da echt überfragt.

Schonmal vielen Dank im Voraus.

Viele Grüße
Patrick

Content-Key: 530737

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

Printed on: April 27, 2024 at 04:04 o'clock

Mitglied: 142232
Solution 142232 Jan 03, 2020, updated at Jan 06, 2020 at 07:41:37 (UTC)
Goto Top
Gibts wie immer 1000 Wege nach Rom hier zwei davon in Powershell

$outfolder = 'D:\temp'  
$infile = "D:\test.csv"  

$csv = Import-CSV $infile  -Delimiter ";" -Header (1..12) -Encoding Default  
foreach($line in $csv){
    $line | convertto-csv -Delimiter ";" -NoType | select -skip 1 | Set-Content (Join-Path $outfolder ($line.12 -replace '\.pdf$','.txt'))  
}
oder
$outfolder = 'D:\temp'  
$infile = "D:\test.csv"  

Get-Content $infile | %{
    $_ | Set-Content (Join-Path $outfolder ($_.split(';')[-1].trim('"') -replace '\.pdf$','.txt' ))  
}
Member: PatrickHH
PatrickHH Jan 06, 2020 at 07:02:31 (UTC)
Goto Top
Guten Morgen,

vielen Dank für die beiden Quellcodes.

Zu erst, es funktionieren beide Varianten, jetzt hätte ich noch eine kleine Bitte.
Er generiert erfolgreich den Dateinamen aus der letzten Spalte, ist es möglich, das es aber nicht mit der Dateiendung .pdf sonder als .txt erstellt wird?
Da sich so die generierten Dateien nicht öffnen lassen.

Viele Grüße
Patrick
Mitglied: 142232
142232 Jan 06, 2020 updated at 08:55:24 (UTC)
Goto Top
Zu erst, es funktionieren beide Varianten,
Ach ne, hätt ich jetzt nicht gedacht face-smile, logisch wenn ich zwei Codes poste funktionieren auch beide, ich poste nichts ungetestetes wenn ich es nicht explizit dazu schreibe ...
ist es möglich, das es aber nicht mit der Dateiendung .pdf sonder als .txt erstellt wird?
Klar, ist oben angepasst.