Batch startet Zufallsdatei

Mitglied: Chipchamp12

Chipchamp12 (Level 1) - Jetzt verbinden

28.01.2009, aktualisiert 21:44 Uhr, 7109 Aufrufe, 7 Kommentare

Hallo, ich möchte, dass eine Batch eine zufällige .txt Datei startet.
Es sind viele .txt Dateien mit unterschiedlichen Namen in einem Ordner!
Die Batch soll nun eine zufällige der vielen txt Dateien in die Batch einfügen!
Also

set /p variable= < zufällige.txt

Es sollte möglichst ein und-die-selbe Datei nicht mehrmals nacheinander gestarted werden!
Oder wenigstens min. 5 oder 6 andere vorher!
Mitglied: 60730
28.01.2009 um 22:06 Uhr
Salü mit ü.

  • eine Batch soll eine .txt starten?
  • aber seit wann sind .txt Dateien ausführbare (startfähige) Programme?
  • Seit wann ist das /p hinter Set bei dir std. und was hat das mit dem "Problem" zu tun?
  • Und warum ist bei dir nach jeder Zeile dieses Zeichen! und bei mir dieses?

"Zufallszahlen" kannst du anhand von Time /t in den Millisekunden finden.
sorry, aber irgendwie fühl ich mich nicht angespornt - oder wie es ein Mitstreiter im Forum so treffend formuliert hat:
Warum sollte ich mir Mühe geben, wenn du es nicht macht?

Gruß
Bitte warten ..
Mitglied: Chipchamp12
28.01.2009 um 22:15 Uhr
Okay, dass hier ist das "Programm". Es soll zum helfen von Vokabeln dienen.

@echo off
:startofthefile
cls
echo.
echo Dies ist ihre Vokabellernhilfe!
echo Sie konnen mit diesem Programm Vokabeln eingeben und abfragen.
echo Bitte melden Sie sich mit ihren Benutzerdaten an.
echo Hinweis! Wenn Sie keinen Account haben, tippen sie "new" ein.

set /p name= Bitte melden Sie sich an:
if exist %name%1.txt goto log
if %name%==new goto :new


:new
echo.
echo Sie konnen nun einen neuen Benutzer erstellen.
echo Bitte tippen Sie ihren gewunschten Benutzernamen ein!
set /p newname= Ihr neuer Name:
if not exist %newname%1.txt goto allk
pause > nul
:allk
echo %newname% > %newname%1.txt
echo.
echo Bitte tippen Sie ihren gewunschtes Passwort ein!
set /p newpass= Ihr Passwort:
echo %newpass% > %newpass%.txt
pause > nul
echo.
echo Die Daten wurden gespeichert.
set /p d1= < %newname%1.txt
echo Ihr Name ist: %d1%
set /p d2= < %newpass%.txt
echo Ihr Passwort ist: %d2%
echo.
echo Die Einstellung ist abgeschlossen.
echo Starten Sie das Programm nun neu.
pause > nul
exit

:log
set /p nowpass= Bitte geben Sie Ihr Password ein:
if exist %nowpass%.txt goto correctlogin
:correctlogin
cls
echo.
echo Willkommen in Ihrem Vokabelaccount!
echo Sie konnen nun Vokabeln eingeben, oder Abfragen.
echo Tippen Sie nun Abfrage ein, um Ihre Vokabeln abzufragen.
echo Tippen Sie nun Eingabe ein, um Vokabeln einzugeben.
set /p chose= Was wollen Sie heute machen:
if %chose%==Abfrage goto abfrage
if %chose%==Eingabe goto eingabe
if %chose%==ABFRAGE goto abfrage
if %chose%==EINGABE goto eingabe
if %chose%==abfrage goto abfrage
if %chose%==eingabe goto eingabe
if not %chose%==eingabe goto false
if not %chose%==Eingabe goto false
if not %chose%==EINGABE goto false
if not %chose%==abfrage goto false
if not %chose%==ABFRAGE goto false
if not %chose%==Abfrage goto false

:false
echo.
echo Die Eingabe enthielt einen Fehler, bitte versuchen Sie es erneut
pause > nul
goto log

:eingabe
echo.
echo Sie können nun Vokabeln eingeben.
echo Bitte schreiben Sie erst das Bekannte,
echo dann die korrekte Antwort.
md Vokabelnvon%name%
cd Vokabelnvon%name%
cls
set /p frag= Bekannt:
echo %frag% > %frag%.txt
set /p antw= Antwort:
echo %antw% > %frag%1.txt
pause

:abfrage
cd Vokabelnvon%name%
set /p abfragevon = < gehen.txt
echo %abfragevon% = ?
set /p meinung =
set /p ant = < gehen1.txt
IF %meinung% == %ant% GOTO :WAHR
REM hier landet man wenn der if-Ausdruck falsch ist
GOTO WEITER
:WAHR
REM hier landet man wenn der if-Ausdruck wahr ist
echo Willkommen Zuhause
REM Jetzt wird der if Zweig verlassen
pause

:WEITER
echo.Have a nice Day!
pause

:comend
echo Das Programm wird nun beendet!
pause > nul


Soweit klappt alles, außer die Abfrage ( zu finden unter :abfrage)!
Dort soll durch zufall eine der vorher eingegebenen Dateien geöffnet werden und die Antwort (Vokabel dann eine 1 und dann .txt) die richtige Lösung sein.
Wo ich Probleme habe?
Dabei, durch zufall eine der Vokabeln durch zufal als Frage einzugeben und die richtige Antwort zuzuweisen!
Bitte warten ..
Mitglied: bastla
28.01.2009 um 22:17 Uhr
Hallo Chipchamp12!

Der Frage nach dem "!" am Ende Deiner Sätze schließe ich mich an ...
Ansonsten: Da ich nicht weiß, wie der Ablauf konkret aussehen soll, einfach einmal ein Entwurf, mit dem 10 Mal eine Datei (bzw genauer: deren erste Zeile) in die Variable %variable% eingelesen wird, wobeim wie gewünscht, zumindest 6 andere Dateien zwischendurch verwendet werden müssen:
Wenn Dir das Zeichen "§" nicht sympathisch sein sollte, such Dir ein anderes aus (wobei dieses nicht in Deinen Dateinamen vorkommen bzw als Sonderzeichen für Batch oder "findstr" verwendet werden darf).

Die von mir zum Testen verwendeten "echo"-Zeilen 13 und 16 kannst Du natürlich, wenn es soweit klappt, entfernen.

Grüße
bastla

[Edit]
@Chipchamp12: Deinen Entwurf habe ich zu spät gesehen ...

Wenn die Liste der zuletzt verwendeten Dateien zwischen einzelnen Batchläufen gespeichert werden soll, einfach per
zwischenspeichern und mit
beim nächsten Mal wieder einlesen.
Soferne sich die Anzahl bzw Reihenfolge der Dateien zwischenzeitlich nicht verändert hat, sollte das einigermaßen passen ...
[/Edit]
Bitte warten ..
Mitglied: Chipchamp12
28.01.2009 um 22:29 Uhr
Bastla,
es soll aber nicht dieselbe Datei mehrmals abgefragt werden, sondern immer eine neue und die bereits abgefragten sollen nicht doppelt abgefragt werden.
Zudem muss man, wenn man die Datei "Beispiel"1.txt als Vokabel hat, als Antwort beispiel angeben!
Die Datei Beispiel1.txt hat als korrekte Antwort Beispiel.txt!
Bitte warten ..
Mitglied: bastla
28.01.2009 um 22:35 Uhr
Hallo Chipchamp12!

Da ich heute ohnehin keine Zeit mehr habe, kannst Du (was mich betrifft) in aller Ruhe ev meinen Entwurf testen (nur, um den Ablauf vielleicht nachvollziehen zu können), Deinen obigen Kommentar nochmals überdenken und dann vielleicht so formulieren, dass einigermaßen klar ist, was Du tatsächlich meinst ...

Grüße
bastla
Bitte warten ..
Mitglied: Chipchamp12
28.01.2009 um 22:38 Uhr
Der Eintrag sollte eigentlich verständlich sein!
Ggf. liegt es an dir.
Probier mal den Batch Code oben aus, dann solltest du verstehen, was ich meine.
Bitte warten ..
Mitglied: 60730
28.01.2009 um 22:58 Uhr
Lieber ChimpChamp,

gib dochmal if /? ein eine DosBox deines Vertrauens ein.

Entdecke dabei evtl. den Schalter /i und kürze deine choose - Schoose.

Es zeugt von sehr viel Hartnäckigkeit oder unwissen, dieses angemahnte Zeichen "!" immer noch an (nun nur noch jedes 3.) Satzende zu setzen.
Aber als Krönung dann auch noch den doppelten (gut gemeinten) anderen Tipp zu ignorieren und Meister Bastla ein "gg. liegt es an dir" vor den Latz zu knallen - sorry aber irgendwann ist das Fass voll.

Ich behaupte mal, von den 3 Schreiberlingen, die sich in diesem Thread verewigt haben, bist du garantiert nicht derjenige, der anderen vorwerfen kann - etwas verständliches nicht zu verstehen.

Roger Over Ende Out
Mit freundlichen Grüßen Ihne ihrn
Dr. Med. Wurst
Bitte warten ..
Heiß diskutierte Inhalte
Netzwerke
Sicherheitsbetrachtung virtualisierte Umgebung
gelöst Philipp711FrageNetzwerke22 Kommentare

Hallo liebe Community, ich habe eine kleine Frage bzgl. der Netzwerksicherheit in virtualisierten Umgebungen. Beispiel: Ich habe einen Hypervisor ...

Outlook & Mail
Nach Update von Office 2013 auf 2016 funktioniert das Autodiscover nicht mehr
gelöst StefanKittelFrageOutlook & Mail14 Kommentare

Hallo, ich habe hier einen PC mit Win10 Prof (20H2). Darauf installiert war Office 2013 Home and Business. Dieses ...

Notebook & Zubehör
Surface pro 3 oder aktueller
devazubiFrageNotebook & Zubehör11 Kommentare

Moin moin zusammen, ich möchte eine kurze Umfrage/Feedbackrunde starten. Ich habe gerade angefangen Wirtschaftsinformatik berufsbegleitend zu studieren. Ich würde ...

Router & Routing
Mariadb über nginx direkt erreichen?
TastuserFrageRouter & Routing9 Kommentare

Hallo, ich habe eine Dockerumgebung mit einem letsencrypt (neu swag) Container mit nginx und einen mariadb Container. Nun möchte ...

Hardware
Können Netzteile bei dauerhafter Unterbelastung Schaden nehmen?
UweGriFrageHardware9 Kommentare

Guten Abend, mir ist es jetzt 2x vorgekommen, das hochwertige Marken Netzteile die deutlich überdimensioniert sind, Schaden bei dauerhafter ...

Hosting & Housing
Performance mediawiki unter windows10 - (cgi)
jan99FrageHosting & Housing8 Kommentare

Moin! zunächst einmal hoffe ich so einigermassen die richtige Gruppe gewählt zu haben. Ich bin in userem Unternehmen so ...

Ähnliche Inhalte
Windows Server

Batch startet Applikation - Fenster dann nicht aktiv

Der-PhilFrageWindows Server1 Kommentar

Hallo! Ich habe eine Batch-Datei, die ein anderes Programm startet. Starte ich die Batch, ist alles prima. Lege ich ...

Webbrowser

Firefox startet nicht

gelöst erikroFrageWebbrowser9 Kommentare

Moin, versucht eine Benutzerin den FF (aktuelle Version 65 unter Windows 7 aktueller Stand) zu starten, dann bekommt sie ...

Batch & Shell

For F verschachteln, zweite Schleife wird nicht ausgeführt bzw. Batch startet nicht

gelöst AcJokerFrageBatch & Shell2 Kommentare

Hallo, ich habe ein Problem mit zwei verschachtelten FOR / F Schleifen. Grundlegend würde ich gerne einen Ordner durchgehen ...

Windows Server

Zertifikatdienste startet nicht

gelöst amgm2006FrageWindows Server13 Kommentare

Hallo, auf einem 2003er Server startet der Zertifikatdienste startet nicht mehr. 1 Meldung in den Anwendungen: Die Zertifikatdienste wurden ...

Ubuntu

Ubuntu startet nicht mehr

gelöst CoreknabeFrageUbuntu16 Kommentare

Moin, ich habe in einer HyperV-Umgebung ein Ubuntu 16.04.3 laufen. Plötzlich fährt die VM nicht mehr hoch: Jetzt hocke ...

Linux

Google Chrome startet nicht

gelöst Thomas91FrageLinux12 Kommentare

Hallo Community, ich möchte auf einem pi google chrome nach dem booten automatisch starten, leider öffnet sich bei mir ...

Neue Fragen
Administrator Magazin
11 | 2020 Virtualisierung ist aus der IT nicht mehr wegzudenken. In der November-Ausgabe des IT-Administrator Magazins dreht sich der Schwerpunkt um das Thema "Server- und Storage-Virtualisierung". Darin erfahren Sie, wie sich die Virtualisierungstechnologie entwickelt hat, welche Varianten es im Bereich Server und Speicher gibt und wie ...
Neue Beiträge
Neue Jobangebote
Server- und Storage-VirtualisierungServer- und Storage-VirtualisierungBerechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid Cloud