Aug 4
programming / scripting

Heute erreichte mich die Anfrage, ob ich ein Batch-Script schreiben kann, welches mehrere CSV-Dateien zusammenführt. Weiters sollte die Überschrift nur einmal angezeigt werden. Dazu hier der entsprechende Code, welcher in einer Batch-Datei (*.bat) eingefügt werden kann. Die beiden Variablen Ordner/Sammel müssen entsprechend verändert werden.

  1. @echo off & setlocal
  2. set "Ordner=W:\Scripts"
  3. set "Sammel=W:\Scripts\DeineSammeldatei.csv"
  4.  
  5. pushd "%Ordner%"
  6. if exist "%Sammel%" del "%Sammel%"
  7. for %%i in (*.csv) do if not exist "%Sammel%" for /f "usebackq delims=" %%z in ("%%i") do if not exist "%Sammel%" echo %%z>"%Sammel%"
  8. for /f "delims=" %%i in ('dir /b /od *.csv') do more +1 "%%i">>"%Sammel%"
  9.  
  10. popd
  11.  

Posted by Alessandro Banzer

Twitter Facebook

0 Trackbacks

  1. No Trackbacks

3 Comments

Display comments as(Linear | Threaded)
  1. crush says:

    Hallo, das Problem bei dem Code ist, dass die Datensätze der Source-CSV immer doppelt in der Sammel-CSV auftauchen. Gruß crush

  2. crush says:

    Hallo, der Fehler ist, dass "DeineSammeldatei.csv" nicht im gleichen Ordner liegen darf, wie die Quelldateien. Wenn man einen anderen Ort für das Ergbenis wählt, funktioniert das Script. Gruß crush

  3. moses says:

    Genau das habe ich gesucht! Tausend dank

Add Comment


Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

You can use [geshi lang=lang_name [,ln={y|n}]][/geshi] tags to embed source code snippets.