Benötige Batch File der zwei Zeilen von 2 Txtfiles miteinander zu einem Textfile verbindet/merged

Klendathu

Cadet 3rd Year
Registriert
März 2017
Beiträge
45
Hallo,

ich benötige eine Batch Datei für Windows (10), die Zeile 1 von Text file 1 (1.txt) mit Zeile 1 von Text File 2 (2.txt) zu einer einzigen zeile verbindet bzw. merged.

Zb. (txt 1)

Hallo, ich bin gerade

Zb (txt 2)

vom Einkaufen nachhause gekommen

Zb (Result txt)

Hallo, ich bin gerade vom Einkaufen nachhause gekommen

Dabei ist aber wichtig, dass es sich in txt 1 und txt 2 nicht nur um eine Zeile pro Dokument handelt, sondern viele. (ca. 300)

So sollen jeweils die erste Zeile von txt1 und die erste Zeile von txt2 zur ersten Zeile von Result.txt verbunden werden.

Kann mir hier vielleicht jemand weiter helfen?

Lg Klen
 
und was hast du versucht? Ich wuerde dafuer uebrigens Powersehll nehmen, es ist trivial.
1. Lade beide Dateien in 2 Variablen, nennen wir sie mal f1 und f2
2. da beide gleich lang sind reicht eine for Schleife die bis $f1.length als Abbruchkriterium und du holst dir fuer das i jeweils die Zeile mit $f1[$i] resp. $f2[$i]
3. Konkateniere die Strings (mit +) und schreib das ganze in eine Datei (mit >)

Den Rest schaffst du wohl selbst nehme ich an, es ist eine Zeile Skript
 
Code:
@echo off

REM erste Zeile - erste Datei auslesen
for /F "delims=" %%i in (Text1.txt) do (  
  set Z=%%i
  goto BREAK1
)
:BREAK1
SET ERSTERTEIL=%Z% 

REM erste Zeile - zweite Datei auslesen
for /F "delims=" %%j in (Text2.txt) do (  
  set W=%%j
  goto BREAK2
)
:BREAK2
SET ZWEITERTEIL=%W%


echo %Z% %W% > result.txt
 
  • Gefällt mir
Reaktionen: Klendathu
@Klendathu
oder du machst es mit
copy "dateiname1"+"dateiname2" "neuerdateiname"

Korrektur- Ich habe Deine Anfrage zuerst falsch verstanden. Du willst ja nicht einzeilige Dokumente verbinden, sondern jeweils nur die erste zeile vieler Dokumente...
Da Du nur die ersten Zeilen beider Dateien auslesen und in eine Datei verbinden willst, kommst Du um eine Variante, die von ryan_blakdrago bereits gelistet ist nicht drum herum.

Wichtig dabei ist, dass die Zeilen des Textfiles tatsächlich mit einem "Enter" abgeschlossen sein bzw. ein erkennungsfestes Trennzeichen haben müssen.

LG
zero
 
Zuletzt bearbeitet:
ryan_blackdrago schrieb:
Code:
@echo off

REM erste Zeile - erste Datei auslesen
for /F "delims=" %%i in (Text1.txt) do ( 
  set Z=%%i
  goto BREAK1
)
:BREAK1
SET ERSTERTEIL=%Z%

REM erste Zeile - zweite Datei auslesen
for /F "delims=" %%j in (Text2.txt) do ( 
  set W=%%j
  goto BREAK2
)
:BREAK2
SET ZWEITERTEIL=%W%


echo %Z% %W% > result.txt


Hallo!
Die Batch File fügt zwar die textdateien zusammmen! Aber als Resultat erhalte ich nur eine Zeile! Dann leider nichts mehr :-(
 
Die Batch macht genau das, was im Eingangspost gewünscht wird:
Zitat: So sollen jeweils die erste Zeile von txt1 und die erste Zeile von txt2 zur ersten Zeile von Result.txt verbunden werden

result.png


Wie hätte (anhand meines Screenshots), dann Result aussehen sollen?
 
  • Gefällt mir
Reaktionen: Klendathu
Hi ryan blackdrago. Ich habe gesehen, ich hab mich da wohl schlecht ausgedrückt-mein Fehler Sorry, Deine Bach funktioniert super... Kann man deine Batch so modifizieren, dass sie 2 beliebig lange txt files zusammenfügt? Beide txt files haben auch gleich viele Zeilen. Zb beide 300...

Lg Klen
 
Zurück
Oben