Hi,
ich habe einen Ordner mit mehrerer csv-Dateien.
Der Aufbau aller csv-Dateien sieht in etwa wie folgt aus:
a;b;c;d;
e;f;g;h;
i;j;k;l;
...
w;x;y;z;
1234567890 ; (unbestimmte Anzahl an Leerzeichen zwischen der letzten Zahl und dem Semikolon)
Es handelt sich bei den ersten Zeilen um eine unbestimmte Anzahl an Zeilen, welche variieren kann. Ich lese die letzte Zeile aus. Den Inhalt dieser letzten Zeile brauche ich nachher nämlich noch.
Dann stutze ich die gelesene Zeile, damit ich nur noch 1234567890 in der Variablen LastLine habe.
Jetzt will ich die ursprüngliche Datei "test1.csv" einlesen von der ersten bis zur vorletzten Zeile und in eine neue csv-Datei schreiben, die anschließend "test1_1234567890.csv" heißt.
Das habe ich für eine Datei hinbekommen, aber wie schaffe ich das für alle Dateien, die sich in dem Ordner befinden?
$LastLine = Get-Content C:\Temp\test1.csv | Select-Object -Last 1
$LastLine = $LastLine.replace(";","")
$LastLine = $LastLine.trim()
$CSV = Import-CSV c:\Temp\test1.csv
$CSV[0..($CSV.count - 2)] | Export-csv c:\Temp\test1_$LastLine.csv -NoTypeInformation
Hier mein erster Ansatz:
$files = Get-ChildItem "C:\Download\csv\" for($i = 0; $i -lt $files.Count; $i++) { $LastLine = Get-Content $files[$i].FullName | Select-Object -Last 1 $LastLine = $LastLine.replace(";","") $LastLine = $LastLine.trim() ... }
Weiter komme ich leider nicht.
Wer kann mir helfen?
Gruß Kathrin