markusbausb
Goto Top

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

Content-Key: 2639547691

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

Printed on: May 18, 2024 at 06:05 o'clock

Member: colinardo
Solution colinardo Apr 29, 2022 updated at 09:42:02 (UTC)
Goto Top
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:
>>datei.txt echo Settings=1
Wenn man das Echo trotzdem dahinter schreiben möchte ist das aber ebenfalls über ein Escaping der Nummer möglich
echo Settings=^1>>datei.txt

Dazu auch lesenswert
https://www.robvanderwoude.com/battech_redirection.php

Grüße Uwe
Member: MarkusBausB
MarkusBausB Apr 29, 2022 at 09:46:59 (UTC)
Goto Top
Hallo Uwe.

Vielen Dank für die Erklärung und die Vorschläge. Der erste Vorschlag hat funktioniert, das mit dem Escaping hatte ich vorher schon versucht, hat irgendwie nicht hingehauen. Aber jetzt funktioniert es, das ist die Hauptsache.

Nochmals Danke, hast mir viel Kopfzerbrechen erspart.

LG
Markus
Member: colinardo
colinardo Apr 29, 2022 updated at 10:00:37 (UTC)
Goto Top
Immer gerne 👍

Eventuell noch als Anregung langsam aber sicher ans Umsteigen zu denken:
Powershell Leitfaden für Anfänger