iwolf2015
Goto Top

Batch - Variable in bestimmte Textzeile schreiben

Hallo, ich möchte gerne eine Variable in die n-te Zeile eines .txt Dokumentes schreiben.
Ich habe schon verschiedene Ansätze gefunden, aber keiner hat mir wirklich weitergeholfen.

Es würde mich freuen, wenn mir hier jemand helfen und (wenn irgendwie möglich) die verwendeten Befehle erklären kann (Bin Batch-Noob).

Content-Key: 280456

Url: https://administrator.de/contentid/280456

Ausgedruckt am: 28.03.2024 um 08:03 Uhr

Mitglied: Tezzla
Tezzla 17.08.2015 um 19:39:03 Uhr
Goto Top
Hallo,

ein paar mehr Details wären hilfreich, damit man eventuell einen möglichen Ansatz leichter findet.
Was steht drin? Gleicher Aufbau?

Viele Grüße
T
Mitglied: iWolf2015
iWolf2015 17.08.2015 um 19:49:16 Uhr
Goto Top
Ich möchte eine Batch-Datei eine Zeile in eine Textdatei hinzufügen lassen. Dies soll aber weder die erste, noch die letzte Zeile sein, sondern eine mittendrin.
Das Textdokument wird dann im späteren Verlauf in eine Batch-Datei umgewandelt, die dann mitsamt der neuen Zeile(n) ausgeführt werden soll. Der Aufbau des Textdokumentes ist daher nicht einheitlich: Zuerst kommen einige Variabel-abfragen und gegen Ende sind dort fast nur noch echo-Befehle drin.
Mitglied: Endoro
Endoro 18.08.2015 aktualisiert um 07:11:10 Uhr
Goto Top
Hey,
in eine Textdatei kann Batch nicht reinschreiben, es muss eine neue angelegt werden. Das wären dann folgende Schritte:
1. Schreibe alle Zeilen vor der neuen Zeile in die Datei (zum Beispiel mit findstr /n "^")
2. Schreibe die neue Zeile mit echo
3. Schreibe die restlichen Zeilen (z.B. mit more +n, wenn die Datei kleiner als 2GB ist).

Ich würde das allerdings mit sed machen.
Beispiel:
sed -n 1,11p input.txt > output.txt
echo Meine neue Zeile >> output.txt
sed 1,11d input.txt >> output.txt
Gruss, Endoro
Mitglied: iWolf2015
iWolf2015 23.08.2015 um 20:35:28 Uhr
Goto Top
Kannst du das mit findstr genauer erklären? Ich beginne gerade erst mit Batch und kenne den Befehl noch nicht ^^
In der CMD konnte mir findstr /? nicht wirklich weiterhelfen, würde mich freuen.