michifox
Goto Top

Wieder mal ein Problem mit einer Batchdatei

Hallo,

habe mir eine kleine Auswahldatei geschrieben, das bei drücken von 1 und enter ein Programm gestartet wird und bei drücken von 2 und enter ein anderes Programm, usw.
Was kann ich dagegen tun, das wenn nichts und enter(also nur enter gedrückt) wird, sich die Batchdatei nicht schließt, was sie zur Zeit macht!!!!! mit: if %eingabe% == goto start
geht es nicht.
Ach ja, hab Xp
Danke
Gruß
michifox

Hier die Datei:

@echo off
@echo off
@echo off
@echo off
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
:start
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo Taste Spiel 1 Taste Spiel 2
@echo.
@echo fuer fuer
@echo.
@echo.

@echo Spielpacket 1 Spielpacket 2
@echo.
@echo.
@echo Money Game Ultra Hot
@echo Lucky Ladys Charm Deluxe Polar Fox
@echo Dolphins Pearls Deluxe Book of Ra
@echo Book of Ra Deluxe Dynasty of Ming
@echo Beatle Mania Deluxe Royal Treasures
@echo Columbus Deluxe Wonderful Flute
@echo Sizzling Hot Deluxe Pharaos Gold II
@echo Unicorn Magic Dolphins Pearl
@echo King of Cards Banana Splash
@echo Pharaos Gold III Illusionist

@echo.
@echo.
@echo ............................................................
@echo ............................................................
@echo .. ..
@echo .. TASTE Spiel 1 / 2 UND DANN START DRUECKEN !! ..
@echo .. ..
@echo ............................................................
@echo ............................................................
@echo.
@echo.
set /p eingabe=

if %eingabe% == 1 goto prog1
if %eingabe% == 3 goto prog2
if %eingabe% == goto start


if %eingabe% == n goto progn


@echo falsche Einhabe
goto start

:prog1

"c:\multigambler\multigambler.exe"
goto start

:prog2


"C:\multigambler\coldfire2\multigambler.exe"
goto start
:prog3


:ende

exit

Content-Key: 208828

Url: https://administrator.de/contentid/208828

Printed on: April 20, 2024 at 03:04 o'clock

Member: colinardo
colinardo Jun 29, 2013 updated at 08:51:07 (UTC)
Goto Top
Hallo Michifox,
vor das
set /p eingabe=
fügst du noch ein
set eingabe=
ein (zum leeren der Variablen), und schreibst den Vergleich dann so:
if "%eingabe%" == "" goto start

Noch zur Info:
  • die mehrfachen @echo off bringen nix, es reicht wenn die Zeile einmalig eingetragen wird.
  • mit dieser Zeile kannst du mehrere Leerzeilen mit weniger Code erzeugen (z.B. 10 Leerzeilen erzeugen):
 FOR /L %%i IN (1,1,10) DO @echo.

Und für die Zukunft wären wir Dir dankbar wenn du deinen Code mit "Code"-Tags versehen könntest.

face-smile Uwe
Member: bastla
bastla Jun 29, 2013 at 09:58:03 (UTC)
Goto Top
... und noch als Ergänzung zum Prüfen auf eine leere Variable:
if not defined eingabe goto start
- vorteilhaft besonders dann, wenn die Prüfung innerhalb einer Schleife erfolgen soll.

Grüße
bastla
Member: michifox
michifox Jul 01, 2013 at 03:14:43 (UTC)
Goto Top
Hallo,

vielen Dank für die Antworten, funktionieren beide.
Aber kaum ist ein Problem gelöst, kommt auch schon das nächste. Und zwar startet die Batchdatei automatisch nach dem Start.
Es öffnet sich zwar, aber ich kann keine Eingabe machen, muß erst das Fenster anklicken, dann kann ich wählen.
Passiert aber nicht immer, Chance ist 50:50.
Kann ich das über einen Befehl lösen?

Danke Gruß
michifox
Member: colinardo
colinardo Jul 01, 2013 at 06:03:05 (UTC)
Goto Top
Für solche Fälle gibt es dieses Utility:
http://www.commandline.co.uk/cmdow/
mit einer Zeile wie diese könntest du dann das aktive Batchfenster in den Vordergrund holen und als "Always On Top" deklarieren:
cmdow @ /ACT /TOP
Ob das Fenster dann aber tatsächlich Eingabefokus hat musst du ausprobieren. Meistens stehlen andere Programme die beim Start noch mitgestartet werden immer wieder den Eingabefokus.

Grüße Uwe
Member: michifox
michifox Jul 01, 2013 at 21:49:39 (UTC)
Goto Top
Hi,

hab das mit dem cmdow ausprobiert, geht leider nicht. Was ich sowieso nicht versteh ist, das es 3 Monate immer funktioniert hat und auf einmal kein Eingabefokus mehr da ist, obwohl nicht´s verändert wurde. An meinem Laptop ist immer Eingabefokus da, aber da arbeite ich auch nur mit einem Bildschirm, Probleme treten bei Dualview auf(erweiterter Desktop).
Wenn ich aber die Batch starte und in der Batch eine Programm automatisch starte und das beende, hab ich immer Eingabefokus. Auch bei Windows 7 das gleiche Problem.
Hat vielleicht noch einer ne Idee?

Danke
Gruß
michifox