String aus zwei Dateien als Batchdatei
Wer kann mir helfen?
Ich brauche eine Batch-Datei die mir aus den Inhalten von zwei Textdateien einen String zeilenweise in einer neuen Datei zusammensetzt. Die Dateien haben die gleiche Anzahl an Zeilen. In der zweiten Datei sollen die Werte ab Zeichen 39 ausgelesen werden.
Datei 1 besteht aus Punktnummern
1
2
3
4
5
usw.
Datei 2 besteht aus Koordinatenwerten
200 400
300 500
600 300
usw.
Die neue Datei soll aus Punktnummer und Koordinatenwert in einer Zeile mit Semikolon als Trennzeichen bestehen:
1 ; 200 ; 400
5 ; 600 ; 300
9 ; 700 ; 200
wenn ich es hiermit probiere wird nur eine Zeile geschrieben:
set /p %text1=<Punktnummern-Liste.txt
set /p %text2=<Koordinaten-Liste.txt
set text3=%text1%%text2%
echo %text3% > %test.txt
Ich brauche eine Batch-Datei die mir aus den Inhalten von zwei Textdateien einen String zeilenweise in einer neuen Datei zusammensetzt. Die Dateien haben die gleiche Anzahl an Zeilen. In der zweiten Datei sollen die Werte ab Zeichen 39 ausgelesen werden.
Datei 1 besteht aus Punktnummern
1
2
3
4
5
usw.
Datei 2 besteht aus Koordinatenwerten
200 400
300 500
600 300
usw.
Die neue Datei soll aus Punktnummer und Koordinatenwert in einer Zeile mit Semikolon als Trennzeichen bestehen:
1 ; 200 ; 400
5 ; 600 ; 300
9 ; 700 ; 200
wenn ich es hiermit probiere wird nur eine Zeile geschrieben:
set /p %text1=<Punktnummern-Liste.txt
set /p %text2=<Koordinaten-Liste.txt
set text3=%text1%%text2%
echo %text3% > %test.txt
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6190421663
Url: https://administrator.de/forum/string-aus-zwei-dateien-als-batchdatei-6190421663.html
Ausgedruckt am: 10.04.2025 um 09:04 Uhr
5 Kommentare
Neuester Kommentar

Plain Batch etwa so:

Btw. auch hier schon da gewesen
Zwei Texte Zeilenweise zusammenfügen per batch
@echo off &setlocal enabledelayedexpansion
set "punkte=D:\punkte.txt"
set "coords=D:\coords.txt"
set "merged=D:\merged.txt"
<"%coords%" (for /f "usebackq delims=" %%a in ("%punkte%") do set /p "line=" &set "line=!line: = ; !" &echo.%%a ; !line!) >"%merged%"

Btw. auch hier schon da gewesen
Zwei Texte Zeilenweise zusammenfügen per batch

$1 = Get-Content "c:\1.txt"
$2 = Get-Content "c:\2.txt"
for ($i = 0; $i -lt $1.length; $i++) { "$($1[$i]) ; $($2[$i].replace(" ", " ; "))" | Out-File -Append out.txt }
Hi ChatGPT, convert this to a batch script
Here's the batch script equivalent of the PowerShell code:
@echo off
setlocal enabledelayedexpansion
set "file1=c:\1.txt"
set "file2=c:\2.txt"
set "output=out.txt"
for /f "tokens=1,* delims=" %%a in (%file1%) do (
set /p line2=<%file2%
set "line2=!line2: = ; !"
echo %%a ; !line2! >> %output%
)
endlocal
funktioniert einwandfrei.
Und da soll noch einer sagen ChatGPT ist nicht zu gebrauchen
Disclaimer: ich hab von Batch keine Ahnung. Habe das so als bat abgespeichert und ausgeführt. Ergebnis war von meinem PS-Skript nicht zu unterscheiden.
Serie: String aus zwei Dateien
String aus zwei Dateien als Batchdatei5