pizzasocken
Goto Top

Header bzw. erste Zeile bei zusammenfügen entfernen (Batchskript)

Hallo zusammen,

ich bin neu hier und dankbar für jede Hilfe!
Folgendes Problem stellt sich mir:

ich habe ein Batchskript geschrieben, um mehrere Textdateien zusammenzufügen:

@echo off
if exist %1 del %1
:Loop
if "%~2" neq "" type %2>>%1 & shift /2 & goto :Loop

(Aufruf in Shell: ./conjoin.bat masslist.txt 'mass.out', 'mass (2).out', 'mass (3).out', 'cmass (4).out', 'mass (5).out', 'mass (6).out', 'mass (7).out', 'mass (8).out')

die 'cmass.out' Dateien enthalten lange Zahlenfolgen mit einem jeweils einzeiligen Header. Meine Frage lautet, wie ich den Header jeder Zeile entfernen kann.

Vielen Dank schon einmal im Voraus!

Content-Key: 530670

Url: https://administrator.de/contentid/530670

Printed on: May 23, 2024 at 11:05 o'clock

Member: rubberman
Solution rubberman Jan 02, 2020 at 17:14:05 (UTC)
Goto Top
Probier mal statt
type %2>>%1
ein
more +1 <%2 >>%1

Steffen
Member: PizzaSocken
PizzaSocken Jan 02, 2020 at 21:31:36 (UTC)
Goto Top
Tausend Dank! Hat geklappt! (

Wobei in der shell Folgendes angezeigt wird:
' ">>" kann syntaktisch an dieser Stelle nicht verarbeitet werden. '

Ich nehme mal an das ist wegen des Endes der letzten Datei
Member: rubberman
rubberman Jan 02, 2020 at 22:14:09 (UTC)
Goto Top
Ändere mal die erste Zeile zu
@echo on
dann solltest du sehen wie die Kommandozeile aussieht wenn der Syntaxfehler auftaucht.

Steffen
Member: PizzaSocken
PizzaSocken Jan 07, 2020 at 22:55:17 (UTC)
Goto Top
Output in shell:

C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\start_conjoin>if exist CMASS.csv del CMASS.csv

C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\start_conjoin>if "C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell1\cmass.out" NEQ "" more +1 0<C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell1\cmass.out 1>>CMASS.csv & shift /2 & goto :Loop

C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\start_conjoin>if "C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell2\cmass.out" NEQ "" more +1 0<C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell2\cmass.out 1>>CMASS.csv & shift /2 & goto :Loop

C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\start_conjoin>if "C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell3\cmass.out" NEQ "" more +1 0<C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell3\cmass.out 1>>CMASS.csv & shift /2 & goto :Loop

C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\start_conjoin>if "C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell4\cmass.out" NEQ "" more +1 0<C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell4\cmass.out 1>>CMASS.csv & shift /2 & goto :Loop

C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\start_conjoin>if "C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell5\cmass.out" NEQ "" more +1 0<C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell5\cmass.out 1>>CMASS.csv & shift /2 & goto :Loop

C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\start_conjoin>if "C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell6\cmass.out" NEQ "" more +1 0<C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell6\cmass.out 1>>CMASS.csv & shift /2 & goto :Loop

C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\start_conjoin>if "C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell7\cmass.out" NEQ "" more +1 0<C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell7\cmass.out 1>>CMASS.csv & shift /2 & goto :Loop

C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\start_conjoin>if "C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell8\cmass.out" NEQ "" more +1 0<C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\shell8\cmass.out 1>>CMASS.csv & shift /2 & goto :Loop
">>" kann syntaktisch an dieser Stelle nicht verarbeitet werden.

C:\users\se\desktop\LPJ-GUESS\crop_ncep_runs\start_conjoin>if "" neq "" more +1 < >>CMASS.csv & shift /2 & goto :Loop
Member: rubberman
Solution rubberman Jan 08, 2020 at 22:40:10 (UTC)
Goto Top
Jahaha. Letzte Zeile fett unterstrichen :

if "" neq "" more +1 < >>CMASS.csv

Pfade immer schön in Anführungszeichen setzen, sollte auch dieses Problemchen lösen ...
more +1 <"%~2" >>"%~1"

Steffen
Member: PizzaSocken
PizzaSocken Jan 09, 2020 at 15:50:43 (UTC)
Goto Top
Ups :D Hast recht dankeschön!