Frage von HomerTastic, 28

Durch Batchdatei Variabeln irgendwo einfügen?

Hallo, ich versuche gerade ein kleines Spiel mit Batch zu programmieren. Zuerst erschaffe ich mit set beispiel=1 eine variabel mit dem wert 1. Dann benutze ich den Befehl @echo %beispiel%>%testdatei%.data

Wenn ich jetzt aber testdatei.data mit dem Editor öffne, steht dadrin nur "ECHO ist ausgeschaltet (OFF)." anstelle der gewünschten 1. Was muss ich tun damit die variabel dort richtig eingefügt wird? lg

Antwort
von S1r1us13, 28

Mit einer Ziffer vor dem ">" kannst du festlegen, welche Art Ausgabe übergeben werden soll. "1" steht für "erfolgreiche Ausgabe" und "2" steht für "Fehlerausgabe".

Da deine Variable den Wert "1" hat, denkt CMD, du willst die erfolgreiche Ausgabe des Befehls "echo " übergeben, die "ECHO ist ausgeschaltet (OFF)" entspricht.

Du musst also hinter das %beispiel% ein Leerzeichen setzen oder alternativ

@Setlocal EnableDelayedExpansion
@echo !beispiel!>%testdatei%.data

Bei der Verwendung von Ausrufezeichen statt Prozentzeichen erkennt CMD den Inhalt lediglich als Zeichenfolge und nicht als ausführbare Befehlsbestandteile. Es verknüpft die "1" also nicht mit dem ">". Das ist nur möglich, wenn man zuvor den SETLOCAL-Befehl verwendet.

Kommentar von valentin1842 ,

vielen dank (ist mein zweit account)

Kommentar von valentin1842 ,

ich hätte da noch eine frage:

ich benutzt jetzt also

%beispiel% >%testdatei%.data

wie kann ich jetzt eine weitere variabel in die testdatei.data eintragen, bloß in eine andere zeile. also ohne bereits eingetragene werte zu löschen?

Kommentar von maximilianus7 ,

mit >> statt >

Kommentar von valentin1842 ,

danke, hast mir sehr geholfen :)

Keine passende Antwort gefunden?

Fragen Sie die Community