Frage von Play4Lif3, 52

Externe Text Datei in Batch für ein Quiz?

Also. Ich will ein Quiz mit Batch machen. Nun meine frage : Kann ich die Richtigen und die FalscheN Antworten irgentwie automatisch in eine externe Textdatei schreiben lassen? Wenn ja, wie? Fals es Funktioniert sollte das layout etwa so aussehen:

Name der Person: Name --------- Frage 1) F/R Frage 2) F/R usw..

Richtige Antworten: (Zahl) Falsche Antworten: (Zahl)

Ich danke im Voraus ;)

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von RageMode, 31

Du schreibst nach der ersten Frage eine if Abfrage ungefähr so:

:start
set /a richtige=0
set /a falsche=0

:frage1
set /p antwort=Was ist richtig a oder b?
if %antwort%==a goto 1richtig
if %antwort%==b goto 1falsch
goto frage1

:1richtig
(
echo Name Frage1 -> Richtig
)>>C:\Ordner\datei.txt
set /a richtige=richtige+1
goto frage2

:1falsch
(
echo Name Frage1 -> Falsch
)>>C:\Ordner\datei.txt
set /a falsche=falsche+1
goto frage2

Dateipfad ist beispielhaft kann beliebig geändert werden genau wie der Text in der Klammer (natürlich muss am Anfang trotzdem echo stehen), es wird bei jeder Übergabe an die Textdatei automatisch eine neue Zeile erstellt.
Ganz am Ende gibst du dann noch die Variablen falsche und richtige in die Datei

(
echo Richtige:%richtige% Falsche:%falsche%
)>>C:\Ordner\datei.txt

Hoffe ich konnte helfen bei Rückfragen helfe ich gerne in den kommis :)

Kommentar von RageMode ,

und ganz am Anfang meinte ich nach jeder Frage ;)

Kommentar von Play4Lif3 ,

Danke hast mir sehr geholfen!

Kommentar von RageMode ,

Auszeichnung wäre noch nett :)

Kommentar von Play4Lif3 ,

Hey,

Hätte noch ne Frage:


Wie kann ich machen, dass Batch, wenn das Quiz zu ende ist, das ist die Text Datei Speichert:

(

echo Name: %name%
echo Alter: %alter%
echo Richtige:%richtige%
echo Falsche:%falsche%
)>>C:\Users\(Lückenfüller)\Desktop\Quiz\Auswertung.txt


??

Vielen Dank im voraus =P


MFG


Kommentar von RageMode ,

Wenn das so nicht funktioniert kannst du einfach jedes echo einzeln an die Datei schicken wenn du >> benutzt wird ja eine neue Zeile erstellt und nicht der Inhalt überschrieben

Kommentar von Play4Lif3 ,

Danke :) Habe es Jetzt anders mit WASD gemacht :)

Antwort
von astoorangi, 18

Du kannst, wenn du am Ende ein “> datei.txt“ machst, den Output in eine Datei schreiben lassen, wenn du weitere Zeilen hinzufügen willst, mach “>> datei.txt“, ansonsten überschreibst du nur die Datei.
Also
“echo Xy hat Runde 1 gewonnen > sieger.txt
echo yx hat Runde 2 gewonnen >> sieger.txt“

Antwort
von Borgler94, 39

kleine Gegenfrage... wieso willst du das mit Batch machen?

ich würd dir empfehlen eine "richtige" Programmiersprache zu lernen.
du kannst ja zum Beispiel JavaScript und PHP lernen, dann kannst du sogar ein kleines Onlinequiz mit Highscore für deine Freunde erstellen :)

auch vorstellbar ist natürlich Java

Kommentar von Play4Lif3 ,

Ich kann auch Java.. Aber ich will/soll das für die Schule machen. Und dann bietet sich das an eine neue "Programmiersprache" zu lernen. Will nur fragen ob das geht.. Sonst mache ich das in Java.

Kommentar von Tschoo ,

... mit vielen Klimmzügen geht das auch .. aber wirklich nicht schön. Wenn du unbedingt was neues lernen willst und bei Batch (Skripten) bleiben willst, nimm Powershell

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten