Jump to content

Datumsfeld aus csv auslesen


Direkt zur Lösung Gelöst von al3x,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

 

folgende Situation, ich habe einen Ordner mit mehreren .csv mit gleichem Aufbau, an der x. Stelle in Zeile 1 steht das Datum jjjjmmd (In allen csv gleich).

Dieses möchte ich gern auslesen (Batch oder PS) und in eine Variable packen, damit ich im Anschluß alle csv´s zippen und mit dem ausgelesenen Datum benennen kann.

 

Der 2. Teil ist klar, aber ich weiß nicht wie ich an das Datumsfeld komme. Eventuell mit findstr?

 

Kann mir hier jemand helfen?

Geschrieben

ja, es steht immer an der gleichen Stelle. Es handelt sich um eine EDI-Rechnung mit Absender;Empfänger;Adresse; etc......

Bisher habe ich immer das Systemdatum genommen: (for /F "tokens=1-4 delims=." %%i in ('date /t') DO SET date=%%k%%j%%i​)

 

...dies setzt allerdings voraus, dass der Vorgang immer am gleichen Tag durchgeführt wird. Ich dachte nun es sei geschickter, das Datum einfach aus der csv auszulesen und beim Erstellen der zip dann das Rechnungsdatum als Dateiname zu verwenden (statt das Systemdatum zum Erstellungszeitpunkt).

 

Hab aber keine Idee, wie ich vorgehen muss.

Geschrieben

Wenn es sowieso keine Header gibt, kannst Du auch einfach die erste Zeile einlesen, die entsprechende Stelle mittels SubString Methode rausfräsen und das einer Variable zuweisen. Also so ungefähr:

$DatumsString = (Get-Content -Path 'voller Pfad zu Deiner CSV-Datei' | Select-Object -First 1 ).SubString(37,8)
Geschrieben

 

Wenn es sowieso keine Header gibt, kannst Du auch einfach die erste Zeile einlesen, die entsprechende Stelle mittels SubString Methode rausfräsen und das einer Variable zuweisen. Also so ungefähr:

$DatumsString = (Get-Content -Path 'voller Pfad zu Deiner CSV-Datei' | Select-Object -First 1 ).SubString(37,8)

 

ok hier komm ich zumindest mal an einen Wert, allerdings zeigt er mir das 37. Zeichen und nicht die 37. Spalte

Geschrieben

02;1;1;STCK;15449.4;15449.4;308988;19;2935.39;5500002194;;;85477;;Modell4711;981080;20171110;;;;;;

 

 

Das ist zwar die 2. Zeile, aber hier steht auch ein Datum. Wäre in dem Fall, sofern ich mich nicht verzählt habe der 17. Wert.

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...