CSV zusammenführen mit Dateinamen übername

Soulreaver6

Newbie
Registriert
Dez. 2020
Beiträge
2
Seid gegrüßt Programme ...

Hoffe bin hier richtig..
Ich möchte 2 CSV Dateien automatisch über eine batch zusammen führen lassen, wobei bei der 2 Datei die 1 Zeile ignoriert werden sollte.
Nun sollte noch der Datei Namen von der 1sten übernommen werden mit einen Zusatz Zeichen zb "_" sonst würde es ja nicht Funktionieren.
zb.
1.csv + 2.csv = 1_.csv
Hoffe das mir hier einer weiterhelfen kann....
 
Hey, das sollte an sich kein großen Problem sein.

  • Datei 1 lesen und in Variable speichern
  • Datei 2 lesen (und Zeile 1 überspringen) und in Variable speichern
  • Variable in neuen Datei schreiben
  • Fertig
Hier mal ein ungetestetes VBS-Beispiel, welches ich gerade zusammengeschrieben habe:

Code:
'***GENERAL***
Dim m_Data


'***FILE SYSTEM OBJECT***
Dim m_FSO
Set m_FSO = CreateObject("Scripting.FileSystemObject")
Dim m_TextFile


'***FILEPATH***
Dim m_FilePath


'***MODE FOR CSV***
Dim m_Mode
'1 = ForReading
'2 = ForWriting
'8 = ForAppending


'***READ LINES FROM TEXTFILE 1***
m_Mode = 1
m_FilePath = "Datei_1.csv"
Set m_TextFile = m_FSO.OpenTextFile(m_FilePath, m_Mode, True)

j = 0
Do Until m_TextFile.AtEndOfStream = True
    m_Data = m_Data & m_TextFile.ReadLine & vbCrLf
j = j + 1
Loop

Set m_TextFile = Nothing


'***READ LINES FROM TEXTFILE 2***
m_Mode = 1
m_FilePath = "Datei_2.csv"
Set m_TextFile = m_FSO.OpenTextFile(m_FilePath, m_Mode, True)

j = 0
Do Until m_TextFile.AtEndOfStream = True

    If j = 0 Then
      m_TextFile.SkipLine
    Else
        m_Data = m_Data & m_TextFile.ReadLine & vbCrLf
    End if
  
j = j + 1
Loop

Set m_TextFile = Nothing


'***WRITE NEW TEXTFILE 3***
m_Mode = 2
m_FilePath = "Datei_NEU.csv"
Set m_TextFile = m_FSO.OpenTextFile(m_FilePath, m_Mode, True)
m_TextFile.WriteLine (m_Data)
m_TextFile.Close

Set m_TextFile = Nothing
Set m_FSO = Nothing
 
Dürfte sich auch unter Windows mit Powershell oder Batch relativ einfach lösen lassen. In Batch mit FOR und Echo.
In Bash/Linux tatsächlich noch etwas eleganter mit cat und tail.
 
Wow ....
Vielen Dank für die schnellen und zahlreichen Antworten.
Ich muss gestehen ich bin jetzt nicht so das große Programmierass.
Kenn mich nur mit Batch ein bisschen aus.
Werde heute im laufe des Tages Beispiele hochladen.
Habe noch vergessen zu erwähnen das die CSV Dateien jedes mal einen anderen Namen haben.
Warum ? :
Diese CSV werden von jeweils einer Messanlage generiert.
2x Messanlage = 2x CSV
 
Zurück
Oben