Gast
#1174941
Hallo,
ich möchte einen String in eine vorhandene BAT-datei in eine bestimmte
Zeile einfügen. Ich habe auch eine entsprechende Kode gefunden (siehe
unten).
Wenn ich die Batchdatei unten ausführe
- wurde in Zeile 4 der Text korrekt eingefügt, aber
- fehlt ab der Hälfte der Inhalt in der neuen Batchdatei
- es fehlen alle leere Zeilen
Ich nehme an, dass die Batch-Datei, mit der ich die original-Batch-Datei
ändere, versucht den Inhalt der original-Batch-Datei zu interpretieren.
Solbald in der original-Batchdatei das Zeichen "<" auftaucht erhalte ich
diese Meldung:
"<" ist syntaktisch an dieser Stelle nicht verarbeitbar.
Wie kann ich sonst automatisch eine Zeile in eine Datei einfügen?
Danke + Gruß
Zulu
###########################################################
@echo off & setlocal
setLocal EnableDelayedExpansion
set "Datei=C:\TMP\DATEI_ZU_AENDERN.BAT"
set EinfZeile=4
set "NeueZeile=Zeileninhalt der neuen Zeile"
set "Bak=%Datei%.bak"
move "%Datei%" "%Bak%"
set Z=1
for /f "usebackq delims=" %%i in ("%Bak%") do set "Zeile=%%i" & call
:ProcessLine
goto :eof
:ProcessLine
if %Z% neq %EinfZeile% goto :SchreibeZeile
echo %NeueZeile%>>"%Datei%"
:SchreibeZeile
echo %Zeile%>>"%Datei%"
set /a Z+=1
###########################################################