Hinzufügen einer Zeile Settings(gleich)1 an eine TXT-Datei aus Batch
Ein freundliches Hallo ins Forum.
Ich habe ein Problem(chen) welches ich mir nicht erklären kann. Wahrscheinlich für die Cracks hier kein Thema, aber ich stehe im Moment auf dem Schlauch. Die Suche hier und im Internet hat mich nicht weitergebracht.
Folgendes:
Ich muss aus einer Batchdatei einen Eintrag Settings=1 an eine bestehende TXT-Datei anhängen.
Aktuell versuche ich das mit dem Befehl echo Settings=1>>datei.txt
Dabei wird allerdings nur Settings= in die Datei geschrieben, die 1 wird unterschlagen.
Füge ich ein Leerzeichen hinter der 1 ein ( echo Settings=1 >>datei.txt ) funktioniert es. Jetzt habe ich aber ein zusätzliches Leerzeichen in der Zeile.
Kann man das irgendwie anders / besser lösen? Und kann mir jemand erklären warum das so ist? Bin für jeden Tipp dankbar.
VG aus Bocholt
Markus
Ich habe ein Problem(chen) welches ich mir nicht erklären kann. Wahrscheinlich für die Cracks hier kein Thema, aber ich stehe im Moment auf dem Schlauch. Die Suche hier und im Internet hat mich nicht weitergebracht.
Folgendes:
Ich muss aus einer Batchdatei einen Eintrag Settings=1 an eine bestehende TXT-Datei anhängen.
Aktuell versuche ich das mit dem Befehl echo Settings=1>>datei.txt
Dabei wird allerdings nur Settings= in die Datei geschrieben, die 1 wird unterschlagen.
Füge ich ein Leerzeichen hinter der 1 ein ( echo Settings=1 >>datei.txt ) funktioniert es. Jetzt habe ich aber ein zusätzliches Leerzeichen in der Zeile.
Kann man das irgendwie anders / besser lösen? Und kann mir jemand erklären warum das so ist? Bin für jeden Tipp dankbar.
VG aus Bocholt
Markus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2639547691
Url: https://administrator.de/forum/hinzufuegen-einer-zeile-settingsgleich1-an-eine-txt-datei-aus-batch-2639547691.html
Ausgedruckt am: 22.04.2025 um 09:04 Uhr
3 Kommentare
Neuester Kommentar
Servus Markus!
Das kommt deswegen weil man mit einer Zahl direkt vor dem Redirector(>) festlegt welcher Stream (StdOut(1)/StdErr(2)) wohin geschrieben werden soll. Bei 1> interpretiert Batch die 1 als "Stdout" und schreibt sie deswegen nicht mit in die Textdatei.
Best Practice ist deswegen auch den Redirect immer vor dem echo zu scheiben und nicht dahinter wenn man den Inhalt vom echo nicht kennt:
Wenn man das Echo trotzdem dahinter schreiben möchte ist das aber ebenfalls über ein Escaping der Nummer möglich
Dazu auch lesenswert
https://www.robvanderwoude.com/battech_redirection.php
Grüße Uwe
Das kommt deswegen weil man mit einer Zahl direkt vor dem Redirector(>) festlegt welcher Stream (StdOut(1)/StdErr(2)) wohin geschrieben werden soll. Bei 1> interpretiert Batch die 1 als "Stdout" und schreibt sie deswegen nicht mit in die Textdatei.
Best Practice ist deswegen auch den Redirect immer vor dem echo zu scheiben und nicht dahinter wenn man den Inhalt vom echo nicht kennt:
>>datei.txt echo Settings=1
echo Settings=^1>>datei.txt
Dazu auch lesenswert
https://www.robvanderwoude.com/battech_redirection.php
Grüße Uwe
Immer gerne 👍
Eventuell noch als Anregung langsam aber sicher ans Umsteigen zu denken:
Powershell - Leitfaden für Anfänger
Eventuell noch als Anregung langsam aber sicher ans Umsteigen zu denken:
Powershell - Leitfaden für Anfänger