alexsp27

Powershell: CSV einlesen - Spalte hinzufügen - Ausgeben

Hallo,

basierend auf einen älteren Eintrag hier im Forum möchte ich das Thema nochmal aufgreifen, da ich nicht weiter komme.

Problem: CSV-Dateien mit variablen Namen (Dateien liegen alle in einem Ordner) sollen eingelesen und mit einer zusätzlichen Spalte "Festschreibungskennzeichen" und mit dem Wert "0" befüllt werden. Die Dateien haben unterschiedliche anzahlen von Zeilen. Anschließend sollen die Dateien mit dem gleichen Dateinamen zzgl. eines Namenszusatzes in einem Unterordner ausgegeben werden.

Für den einfachen Aufbau funktioniert erstmal folgendes Skript:

$csv = Import-CSV 'C:\Users\asp\Desktop\Converter\DATEV-org.csv' -delimiter ';'  
$csv | add-member -MemberType NoteProperty -Name 'Festschreibungskennzeichen' -Value '0' -Force  
$csv | Export-CSV 'C:\Users\asp\Desktop\Converter\DATEV-kop.csv' -NoType -delimiter ';' -Encoding DEFAULT  

Frage: Wie bekomme ich das mehrfache einlesen und ausgeben der Variablen Dateinamen hin?

Danke für jede Hilfe
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 595588

Url: https://administrator.de/forum/powershell-csv-einlesen-spalte-hinzufuegen-ausgeben-595588.html

Ausgedruckt am: 05.05.2025 um 12:05 Uhr

145033
145033 12.08.2020 aktualisiert um 16:45:24 Uhr
Goto Top
$ordner = 'C:\Users\asp\Desktop\Converter'  
$subordner = join-path $ordner "MeinSubordner"  
$zusatz = '_Zusatz'  
if (!(Test-Path $subordner)){md $subordner -Force | out-null} 
ls $ordner -File -Filter *.csv | %{
    Import-CSV $_.FullName -Delimiter ";" | Select *,@{n='Festschreibungskennzeichen';e={0}} | export-csv (join-path $subordner ($_.Basename + $zusatz + $_.Extension)) -Delimiter ";" -Encoding UTF8 -NoType -verbose  
}
Alexsp27
Alexsp27 13.08.2020 um 07:38:13 Uhr
Goto Top
Wow, das ging echt fix^^

Vielen Dank hat auf anhieb geklappt.