Suche Skript für Batch-Datei, um eine Spaltenbezeichnung innerhalb einer CSV-Datei umzubenennen
Hallo zusammen,
ich habe eine CSV-Datei, die wie eine Excel-Tabelle mit ";"-Trenner aufgebaut ist.
Darin gibt es eine Spaltenbezeichnung, die "M" heißt. Das Skript muss aber ein "%"-Zeichen
hinzufügen, sodass die Spalte danach "M%" heißt.
Das Skript muss die vorhandene Datei noch überspeichern und fertig.
Hat einer eine Idee wie das mit normalem Batch-Skrip geht (ev. auch Powershell)?
Schon jetzt vielen Dank für Eure Hilfe.
Gruss
Jörg
ich habe eine CSV-Datei, die wie eine Excel-Tabelle mit ";"-Trenner aufgebaut ist.
Darin gibt es eine Spaltenbezeichnung, die "M" heißt. Das Skript muss aber ein "%"-Zeichen
hinzufügen, sodass die Spalte danach "M%" heißt.
Das Skript muss die vorhandene Datei noch überspeichern und fertig.
Hat einer eine Idee wie das mit normalem Batch-Skrip geht (ev. auch Powershell)?
Schon jetzt vielen Dank für Eure Hilfe.
Gruss
Jörg
Please also mark the comments that contributed to the solution of the article
Content-Key: 393679
Url: https://administrator.de/contentid/393679
Printed on: April 18, 2024 at 15:04 o'clock
13 Comments
Latest comment
PS
oder auch:
Gruß A.
$datei = 'C:\datei.csv'
$content = gc $datei
$content -replace '(;"?)(M|S)("?;)','$1$2%$3'
$content | sc $datei -Force
(Import-CSV 'C:\datei.csv' -delim ";") | select *,@{n='M%';e={$_.M}},@{n='S%';e={$_.S}} -ExcludeProperty M,S | Export-Csv 'C:\datei.csv' -Delimiter ";" -NoType -Encoding UTF8
Uups Typo, korrigiert.
S. Anpassung oben.
Nach Doppelklick auf die Batch -
Wolle mich verarsche? Det is Powershell min jung!Zitat von @Kraemer:
wat solls - auch wenn hier hundertfach zu finden
wat solls - auch wenn hier hundertfach zu finden
powershell -Executionpolicy Bypass -NoProfile -Command "(Import-CSV 'C:\datei.csv' -delim ";") | select *,@{n='M%';e={$_.M}},@{n='S%';e={$_.S}} -ExcludeProperty M,S | Export-Csv 'C:\datei.csv' -Delimiter ";" -NoType -Encoding UTF8"
Leider die doppelten Anführungszeichen innerhalb der doppelten nicht escaped oder durch Hochkommas ersetzt ;-P