Es kann nur 1Mikne speichern aber z.b. keine Spielsüende Überschreiben. Könnt ihr mir helfen. Hilft es was wenn ich sage, es ist ein Strategiespiel?
Speichern
cls
echo Moechtest du…
echo 1) …Einen neuen Spielstand anlegen.
echo 2) …Einen Spielstand ueberschreiben
set /p Speichern=
if %Speichern%==1 goto Speichern2
if %Speichern%==2 goto Ueberschreiben
goto Speichern
Speichern2
set Zahl=1
if exist 1Mikne.bat (
set Zahl 2
if exist 2Mikne.bat (
set Zahl 3
if exist 3Mikne.bat (
goto Gibtscho3
)
)
)
Speichern3
echo set A1=%A1%> „%Zahl%Mikne.bat“
echo set A2=%A2%>> „%Zahl%Mikne.bat“
echo set A3=%A3%>> „%Zahl%Mikne.bat“
echo set A4=%A4%>> „%Zahl%Mikne.bat“
echo set B1=%B1%>> „%Zahl%Mikne.bat“
echo set B2=%B2%>> „%Zahl%Mikne.bat“
echo set B3=%B3%>> „%Zahl%Mikne.bat“
echo set B4=%B4%>> „%Zahl%Mikne.bat“
echo set C1=%C1%>> „%Zahl%Mikne.bat“
echo set C2=%C2%>> „%Zahl%Mikne.bat“
echo set C3=%C3%>> „%Zahl%Mikne.bat“
echo set C4=%C4%>> „%Zahl%Mikne.bat“
echo set D1=%D1%>> „%Zahl%Mikne.bat“
echo set D2=%D2%>> „%Zahl%Mikne.bat“
echo set D3=%D3%>> „%Zahl%Mikne.bat“
echo set D4=%D4%>> „%Zahl%Mikne.bat“
echo set Bankja=%Bankja%>> „%Zahl%Mikne.bat“
echo set Schulden=%Schulden%>> „%Zahl%Mikne.bat“
echo set Be=%Be%>> „%Zahl%Mikne.bat“
echo set Truppe=%Truppe%>> „%Zahl%Mikne.bat“
echo set Geld=%Geld%>> „%Zahl%Mikne.bat“
goto Spiel2
Gibtscho3
cls
color 0c
echo Es giebt schon 3 Spielstaende.
pause>nul
cls
goto Fake
ksp
cls
color 0c
echo Du hast noch keinen Spielstand zum Ueberschreiben.
pause>nul
cls
goto Fake
Ueberschreiben
cls
echo Welchen Spielstand moechtest du Ueberschreiben?
if NOT exist 1Mikne.bat goto ksp
if NOT exist 2Mikne.bat (
echo 1) 1Mikne
set /p Ueberschreiben=
if %Ueberschreiben%==1 (
set zahl= 1
goto Speichern3
)
goto Ueberschreiben
)
if NOT exist 3Mikne.bat (
echo 1) 1Mikne
echo 2) 2Mikne
set /p Ueberschreiben=
if %Ueberschreiben%==1 (
set zahl= 1
goto Speichern3
)
if %Ueberschreiben%==2 (
set zahl= 2
goto Speichern3
)
goto Ueberschreiben
)
if exist 3Mikne.bat (
echo 1) 1Mikne
echo 2) 2Mikne
echo 2) 3Mikne
set /p Ueberschreiben=
if %Ueberschreiben%==1 (
set zahl= 1
goto Speichern3
)
if %Ueberschreiben%==2 (
set zahl= 2
goto Speichern3
)
if %Ueberschreiben%==3 (
set zahl= 3
goto Speichern3
)
goto Ueberschreiben
)
a) Hallo,
b) verwende bitte beim schreiben das pre-tag (Über dem Beitragverfassbildschirm, Hilfe darunter)
c) füge die Teile des Originalcodes per copy-paste ein
set Zahl 2
set zahl= 3
oder sind die Tippfehler auch im originalcode?
d) Gruß
e) achim
P.S.: nein, Strategiespiel hilft mir nicht, ist aber nett wenn Du schreibst was Du machst 
Danke.=) Aber ich kann immer noch keinen Speicherstand überschreiben.=(
Dann sind vermutlich noch immer Tippfehler drin…
owt
Hallo Ich,
Danke.=) Aber ich kann immer noch keinen Speicherstand
überschreiben.=(
warum machst du es Helfern unnötig schwer?
Meinste im Ernst, nach deinem ersten Codezeigen hat hier jmd. Vertrauen
in dich daß du das von Wilbert auch Korrekt umgesetzt hast?
Und wieso Tippfehler? Kopiere das doch aus einem Texteditor heraus
füge es hier ein, markiere es und „oben“ auf „pre“ klicken.
Dann weiß z.B. Wilbert EXAKT wie dein derzeitiger Code
aussieht.
Also versuch doch mal diese Antwortform:
*****************************************************************
Hi Wilbert,
ich kann da immer noch nicht abspeichern. Ggfs. (ich kann das nicht
einschätzen in dem Fall) es passiert dies das oder jenes wenn ich die
Batch laufen lass.
Nachfolgend mein geänderter aktueller Code.
Gruß
Ich
Hier dann der Code…
*****************************************************************
Gruß
Reinhard
Hallo Ichhabnproblem,
nur ganz grob überflogen. Hier in der letzten Zeile
:Ueberschreiben
cls
echo Welchen Spielstand moechtest du Ueberschreiben?
if NOT exist 1Mikne.bat goto ksp
if NOT exist 2Mikne.bat (
echo 1) 1Mikne
set /p Ueberschreiben=
löschst Du „Ueberschreiben“ gewissermassen. Das führt dazu, daß der nachfolgende Test
if %Ueberschreiben%==1
nach Ersetzen der Variablen so aussieht:
if ==1
Das ist syntaktisch falsch und führt zum Abbruch
Können noch mehr Fehler drin sein, aber weiter habe ich nicht gesucht.
Kleine Anfrage: Machst Du das extra für dich als Batch? Gibt ja inzwischen andere Sprachen, die übersichtlicher und kürzer als so ein Batch-File sind.
Viele Grüße
Marvin
Hallo Marvin,
mit
set /p Ueberschreiben=
löschst Du „Ueberschreiben“ gewissermassen. Das führt dazu,
„set /p xxx=“ ist m.E. korrekte und erfordert eine Eingabe des Benutzers.
Nur wenn man nichts eingibt passiert
if ==1
Das ist syntaktisch falsch und führt zum Abbruch
Daher schreibt man dann meist z.b
if a%Ueberschreiben%==a1
mit a als beliebigem dummy prefix ohne sonst weitere funktion.
Da der Urposter aber
nicht nutzen kann oder möchte und der Originaltext mindestens 6 Tippfehler (Leerzeichen hinter =) enthält, ist wie Reinhard zurecht schrieb eine konstruktive Hilfe sinnlos.
Gruß
achim
Sorry. Hier ist der Aktuelle Code. Aber ich verstehe das mit dem das
die Variable „Ueberschreiben“ verschwindet.
Ueberschreiben
cls
echo Welchen Spielstand moechtest du Ueberschreiben?
if NOT exist „1Mikne.bat“ goto ksp
if NOT exist „2Mikne.bat“ (
echo 1) 1Mikne
set /p Ueberschreiben=
if %Ueberschreiben%==1 (
set zahl=1
goto Speichern3
)
goto Ueberschreiben
)
if NOT exist „3Mikne.bat“ (
echo 1) 1Mikne
echo 2) 2Mikne
set /p Ueberschreiben=
if %Ueberschreiben%==1 (
set zahl=1
goto Speichern3
)
if %Ueberschreiben%==2 (
set zahl=2
goto Speichern3
)
goto Ueberschreiben
)
if exist „3Mikne.bat“ (
echo 1) 1Mikne
echo 2) 2Mikne
echo 2) 3Mikne
set /p Ueberschreiben=
if %Ueberschreiben%==1 (
set zahl=1
goto Speichern3
)
if %Ueberschreiben%==2 (
set zahl=2
goto Speichern3
)
if %Ueberschreiben%==3 (
set zahl=3
goto Speichern3
)
goto Ueberschreiben
)
Du hast Recht
Hallo Wilbert,
mit
set /p Ueberschreiben=
löschst Du „Ueberschreiben“ gewissermassen
„set /p xxx=“ ist m.E. korrekte und erfordert eine Eingabe des
Benutzers.
Nur wenn man nichts eingibt
Oh je, Du hast natürlich Recht. Ist wohl zu lange her, daß ich mich mit Batch rumärgern musste.
Daher schreibt man dann meist z.b
if a%Ueberschreiben%==a1
mit a als beliebigem dummy prefix ohne sonst weitere funktion.
Oder wenigstens eine Eingabeaufforderung
set /p Ueberschreiben="Ja/NEIN: "
damit dumme Benutzer wie ich überhaupt merken, daß sie was eingeben sollen.
Neben deiner Lösung kann/sollte man die Variable auch danach abprüfen:
if not defined Ueberschreiben (
echo Hier muss man was eingeben!
)
So in etwa. Aber ich bin zu sehr bash-verwöhnt und finde, batch-Programmierung hat etwas masochistisches 
Deshalb auch meine Nachfrage, warum Ichhabnproblem sich das antut.
Viele Grüße
Marvin
beendet Klammer bei echo 1) das if? besser 1:
owt
Ich habs endlich geschafft!!! Ich habe einfach das was in der Klammer stand, in eine einzelnes „:“ Überschrift. Sorry, das ich euch so genervt habe, mit einer so einfachen Aufgabe! Nochmal Sorry. Danke Trotzdem.