Palladin007
assimiliert
Ich hab mir mal überlegt, dass es besser wäre, wenn ein Batch-Script Informationen in Form von Variablen abspeichern kann.
Nicht als extra Datei, sondern in sich selber.
Im Internet hieß es immer, das geht nicht, oder ich hab keine Lösung online gefunden.
Und da hab ich selber versucht, das Problem zu lösen und bin nach einigem Probieren auf folgendes Programm gekommen:
Das ist noch ziemlich einfach, aber es testet meine Speicher-Idee
Es sucht nach einer Zeilen ::Speicherstände, die im Script selber keine Auswirkung hat.
Wenn sie gefunden wird, springt es per Sprungmarke darunter, sodass die gespeicherten Informationen abgerufen werden.
Und am Ende springt es dann dort hin, wo sie benötigt werden. Je nachdem, wie das Programm funktionieren soll.
Meine Version tut hier folgendes:
Wenn keine Speicherstände gefunden werden, dann schreibt es welche in die Datei.
Bei dem nächsten Start sind si dann da und werden bestätigt.
Das Programm ist an sich ziemlich einfach, man muss nur zwei Dinge genau beachten:
Die Zeile, die den Speicherstand markiert, darf nirgendwo zu finden sein. Aber Variablen sind erlaubt.
Deswegen hab ich es so gemacht:
Auf diese Wiese wird nach ::speicherstände gesucht, es steht aber selber nicht im Programm.
Als zweites muss beachtet werden, dass IMMER mindestens eine lehre Zeile am Ende des Programmes steht. Sonst wird die erste Zeile vom Speicherstand hinter den letzten Befehl von vorher geschrieben und das gibt einen Fehler.
So, ich hoffe, ich kann mit meinem kleinen Programm helfen.
Damit könnte man z.B. einfache Spiele speichern lassen, Passwörter abspeichern und beim einloggen verwenden, oder ähnliche Dinge.
Gruß
Palladin007
Nicht als extra Datei, sondern in sich selber.
Im Internet hieß es immer, das geht nicht, oder ich hab keine Lösung online gefunden.
Und da hab ich selber versucht, das Problem zu lösen und bin nach einigem Probieren auf folgendes Programm gekommen:
Code:
@echo off
set marke=speicherstände
find "::%marke%" "Batch.bat" > nul
if not errorlevel 1 set gospeicher=j
if errorlevel 1 set gospeicher=n
goto %gospeicher%
:weiter
echo Nun wird das Programm beendet.
pause
exit
:n
echo Es sind keine Speicherstände gespeichert.
echo. >> "Batch.bat"
echo ::%marke% >> "Batch.bat"
echo :j >> "Batch.bat"
echo echo Es wurden Speicherstände gespeichert. >> "Batch.bat"
echo goto weiter >> "Batch.bat"
goto weiter
Das ist noch ziemlich einfach, aber es testet meine Speicher-Idee
Es sucht nach einer Zeilen ::Speicherstände, die im Script selber keine Auswirkung hat.
Wenn sie gefunden wird, springt es per Sprungmarke darunter, sodass die gespeicherten Informationen abgerufen werden.
Und am Ende springt es dann dort hin, wo sie benötigt werden. Je nachdem, wie das Programm funktionieren soll.
Meine Version tut hier folgendes:
Wenn keine Speicherstände gefunden werden, dann schreibt es welche in die Datei.
Bei dem nächsten Start sind si dann da und werden bestätigt.
Das Programm ist an sich ziemlich einfach, man muss nur zwei Dinge genau beachten:
Die Zeile, die den Speicherstand markiert, darf nirgendwo zu finden sein. Aber Variablen sind erlaubt.
Deswegen hab ich es so gemacht:
Code:
set marke=speicherstände
find "::%marke%"
Auf diese Wiese wird nach ::speicherstände gesucht, es steht aber selber nicht im Programm.
Als zweites muss beachtet werden, dass IMMER mindestens eine lehre Zeile am Ende des Programmes steht. Sonst wird die erste Zeile vom Speicherstand hinter den letzten Befehl von vorher geschrieben und das gibt einen Fehler.
So, ich hoffe, ich kann mit meinem kleinen Programm helfen.
Damit könnte man z.B. einfache Spiele speichern lassen, Passwörter abspeichern und beim einloggen verwenden, oder ähnliche Dinge.
Gruß
Palladin007