Frage von TheLastDeamon, 34

Batch for schleife und bestimmtes Zeichen bekommen?

Hey leute,

ich programmiere zur zeit aus spaß ein Batch Game... ich wollte ein Labyrinth machen und das zeichen für zeichen in variablen einskannen: a0, a1, a2, a3, ... Jetzt habe ich aber das Problem, dass er mir nichts ausgibt sondern nur sagt: ECHO ist ausgeschaltet (OFF). Hier ist der Code:

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von timlg07, 8

Ich schätze die Lösung deines Problems ist ganz einfach:

du schreibst am Anfang einfach:

@echo off & setlocal enabledelayedexpansion

Dann können Variablen verzögert ausgelesen werden, dies geht dann mithilfe der ! Ausrufezeichen:

echo a!aVar!...

hoffe des klappt so,

LG Tim

Kommentar von TheLastDeamon ,

Danke dir

Das mit den Ausrufezeichen wusste ich aber das mit setlocal nicht also hat es nicht geklappt. Also vielen dank dir.

Antwort
von PerfectMuffin, 11

Informationen über die Formatierung von variablen in Batch findet man unter SET /? falls du da snicht weißt. Bei Zeilen fixer Länge sollte das ausreichen.

Ein problem ist nur, dass Batch nicht wirklich whitespace-sensitive ist.

Meinen Respekt für Leute, die sich mit Batch derart Mühe geben, macht ihr das als Herausforderung an euch selbst und abstrakte Kunst?

Oder weil euch größere Sprachen zu umständlich sind.

Kommentar von TheLastDeamon ,

Also ich habe mich auch schon mit C# und Java auseinander gesetzt und es macht mir auch Spaß. Aber da ich in der Schule mit meinem Notebook arbeite und es dadurch immer dabei habe programmiere ich in Freistunden immer Batch. Das einzige was ich dafür brauche ist Notepad++ oder einfach den Texteditor ==> am komfortabelsten 


LG Dominik


Ps: weißt du wie ich das mit dem Space dann machen kann?

Kommentar von PerfectMuffin ,

Andere Zeichen verwenden, Os Nullen oder so.

Kommentar von TheLastDeamon ,

Ich schau mal ob ich es noch anders hin bekomme

Antwort
von TheLastDeamon, 13

Sorry durch die Formatierung hat sich etwas verändert

ich schicke ein Bild

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten