Batch 2 txt Datein Zeilenweise zusammenfügen
Ich habe zwar dieses Thema gefunden, aber die dort genannte Lösung fungtioniert bei mir nicht.
https://www.administrator.de/index.php?content=174339
Ich habe 2 txt Datein:
Datei1
Datei2
Beide datein haben gleich viele Zeilen.
Ich möchte nun, die erste Zeile aus datei1 vor die erste Zeile aus datei2 schreiben, so das sich datein mit vorangstellten Pfaden finden.
Aus einem anderen Thered bin ich darauf gekommen:
Jedoch steht in tempnew.txt nicht z.b. "c:\bla\bla\datei.txt" usw. sondern: "c:\bla\ !Line! "
Was hab ich falsch gemacht?
Und wie müsste ich das abändern damit zwischen dem 1. string und dem 2. string ein [Lehrzeichen] ist?
https://www.administrator.de/index.php?content=174339
Ich habe 2 txt Datein:
Datei1
c:\bla\bla\
c:\bla\bla\
c:\bla\bla\bla\bla\
c:\bla\
...
Datei2
datei.txt
dat.rar
date.iso
da.avi
...
Beide datein haben gleich viele Zeilen.
Ich möchte nun, die erste Zeile aus datei1 vor die erste Zeile aus datei2 schreiben, so das sich datein mit vorangstellten Pfaden finden.
Aus einem anderen Thered bin ich darauf gekommen:
set "InFile1=%temp%\tempdatp.txt"
set "InFile2=%temp%\tempdatn.txt"
set "OutFile=%temp%\tempnew.txt"
type >%temp%\tempnew.txt
(
for /f "tokens=1* delims=" %%a in ('findstr /n "^" "%InFile1%"') do (
set /p "Line="
>> "%OutFile%" echo\%%b!Line!
)
) < "%InFile2%"
Jedoch steht in tempnew.txt nicht z.b. "c:\bla\bla\datei.txt" usw. sondern: "c:\bla\ !Line! "
Was hab ich falsch gemacht?
Und wie müsste ich das abändern damit zwischen dem 1. string und dem 2. string ein [Lehrzeichen] ist?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 180400
Url: https://administrator.de/contentid/180400
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo Darkprodukt und willkommen im Forum!
verwendet?
[Edit] Soferne es sich hier um die Fortsetzung Deines vorigen Threads handelt, stellt sich die Frage, ob Du tatsächlich die Zwischendateien brauchst oder nicht
genügt ...
[/Edit]
Grüße
bastla
Was hab ich falsch gemacht?
Keinsetlocal enabledelayedexpansion
Und wie müsste ich das abändern damit zwischen dem 1. string und dem 2. string ein [Lehrzeichen] ist?
Lehrzeichen kann ich Dir auch nicht sagen - ein Leerzeichen müsstest Du nur dazwischen setzen, also>> "%OutFile%" echo\%%b !Line!
for /f "usebackq delims=" %%i in ("Struck.txt") do for /f "delims=" %%j in ('dir /a-s-h-d /b /s "%%~i"') do echo %%~dpj %%~nxj >>%TEMP%\tempew.txt
[/Edit]
Grüße
bastla
Hallo Darkprodukt!
Besonders informativ ist
... aber da Deine Dateien ja ohnehin keine Leerzeilen enthalten, sollte
zum Ziel führen ...
Sollte es in den Daten "!" geben, dann:
Grüße
bastla
Besonders informativ ist
Aber es fungtioniert immer noch nicht
zwar gerade nicht ...... aber da Deine Dateien ja ohnehin keine Leerzeilen enthalten, sollte
@echo off & setlocal enabledelayedexpansion
set "InFile1=%temp%\tempdatp.txt"
set "InFile2=%temp%\tempdatn.txt"
set "OutFile=%temp%\tempnew.txt"
del "%OutFile%" 2>nul
<"%InFile2%" >>"%OutFile%" (for /f "usebackq delims=" %%a in ("%InFile1%") do set /p "Line=" & echo\%%a !Line!)
Sollte es in den Daten "!" geben, dann:
@echo off & setlocal
set "InFile1=%temp%\tempdatp.txt"
set "InFile2=%temp%\tempdatn.txt"
set "OutFile=%temp%\tempnew.txt"
del "%OutFile%" 2>nul
<"%InFile2%" >>"%OutFile%" (
for /f "usebackq delims=" %%a in ("%InFile1%") do (
set /p "Line="
setlocal enabledelayedexpansion
echo\%%a !Line!
endlocal
)
)
bastla
Hallo Darkprodukt!
Welchen Sinn soll übrigens die Zeile
haben - wenn Du in der Ausgabedatei Anführungszeichen um die Dateinamen herum haben willst, schreib das doch einfach in die Zeile 17 und spar Dir die Datei "tempdatna.txt" ...
Außerdem: Was steht nach der Zeile 22 ("
Grüße
bastla
jezt geht es nicht mehr
Woran merkst Du das?Welchen Sinn soll übrigens die Zeile
for /F "delims=" %%i in ('type "%temp%\tempdatn.txt"') do echo "%%i">>tempdatna.txt
Außerdem: Was steht nach der Zeile 22 ("
.wandler
" sieht übrigens sehr interessant aus) in der Datei "tempren.txt"?Grüße
bastla