Ich suchte nach einem Batch-Skript, das eine bestimmte und bekannte Zeile in einer anderen Batch-Datei bearbeitet. Ich fand diese Lösung (Stackoverflow: Batch - edit specified line in text file) und es war fast funktionierend. Das einzige Problem, das ich mit dem Skript von Endoro hatte, ist, dass es die Doppelpunkte am Anfang einer Zeile löscht, die ich nicht bearbeiten möchte. Gibt es eine Möglichkeit, dies zu vermeiden? Hilfe wäre sehr willkommen! Danke im Voraus!Batch - einzelne Zeile in Datei bearbeiten
@ECHO OFF &SETLOCAL
:Input
set /p version=Please Enter Version:
:Replacement
SET "file=test.bat"
SET /a Line#ToSearch=4
SET "Replacement=set jversion = %Version%_x86"
(FOR /f "tokens=1*delims=: " %%a IN ('findstr /n "^" "%file%"') DO (
SET "Line=%%b"
IF %%a equ %Line#ToSearch% SET "Line=%Replacement%"
SETLOCAL ENABLEDELAYEDEXPANSION
ECHO(!Line!
ENDLOCAL
))>"%file%.new"
TYPE "%file%.new"
MOVE "%file%.new" "%file%"
Hallo aschipfl, vielen Dank für die schnelle Hilfe. Ich testete Ihre Anpassung und ich bemerkte, dass das Skript selbst jetzt nichts ändern wird (nicht einmal in Zeile 4 wie angenommen). Ich werde jedoch keine Fehlermeldungen erhalten und das Skript erstellt die ".new" -Datei (ich habe die letzte Zeile gelöscht). – Flos12
Vielen Dank. Das Skript funktioniert jetzt wie ein Zauber :)! – Flos12