• Willkommen im neuen Alpinforum!

    Das Alpinforum ist erfolgreich auf die neue Forensoftware XenForo umgezogen. Benutzerkonten und Foreninhalte wurden übernommen, sodass ihr euch wie gewohnt anmelden könnt.

    Schaut euch gerne um und probiert die neuen Funktionen aus. Solltet ihr Fehler oder Unstimmigkeiten entdecken, meldet sie bitte im entsprechenden Thema.

    Alle Informationen zur Migration und zum neuen Forum findet ihr hier:

    Zur ausführlichen Ankündigung

    Viel Spaß im neuen Alpinforum!

    Euer Alpinforum-Team

Batcher Gesucht

mark13

Großer Müggelberg (115m)
Hallo,
Kann jemand der mehr Ahnung hat als ich mein Batch Programm durchschaun?
Es sollte ein Wecker sein.
----------------------------------------------------------------
@echo off

echo Wecker
:Question
set /p a=Geben sie die gewünschte Zeit (hh:tt:ss,ms)ein:
:time
if %time%==%a% goto wecker
goto time

:wecker
Es ist %time%
:: Ton hier einfügen!
pause
set /p b=Neuer wecker erstellen (a) ausschalten (b):
if %b%==a goto qustion
exit
------------------------------------------------------------------

Funtzt nicht wirklich , Warum?
 
Hmm ist schon zu lange her.
Mir sind aber folgende Tippfehler aufgefallen:

mark13 schrieb:
Hallo,

@echo off

echo Wecker
:Question
set /p a=Geben sie die gewünschte Zeit (hh:tt:ss,ms)ein:
:time
if %time%==%a% goto wecker
___ goto time

:wecker
Es ist %time%
:: Ton hier einfügen!
pause
set /p b=Neuer wecker erstellen (a) ausschalten (b):
if %b%==a goto qustion
exit

Muß bei ___ nicht ein else hin. Heißt doch immer IF THEN ELSE.
 
Danke, ich selbst finde fast nie Tippfehler bei mir :)

Muß bei ___ nicht ein else hin. Heißt doch immer IF THEN ELSE.
Nein weil der vergleich [if] nicht zutrifft (und ich ja nicht verneine) springt das Programm zur nächsten Zeile
Bei anderen Batch Programmen funktioniert das aber auch ;)

Hast aber recht bei anderen Programmsprachen wie c+ muss da ein 'else' hin
 
mark13 schrieb:
@echo off

echo Wecker
:Question
set /p a=Geben sie die gewünschte Zeit (hh:tt:ss,ms)ein:
:time
if "%time%"=="%a%" goto wecker
goto time

:wecker
Es ist %time%
REM:: Ton hier einfügen!
pause
set /p b=Neuer wecker erstellen (a) ausschalten (b):
if "%b%"=="a" goto question
exit

So funktioniert's.
Sobald 'a' nicht nur zusammenhängende Zeichen enthält, sollte 'a' mit Hochkomma eingeschlossen sein.
Gleiches für %time%, bei der zweiten Abfrage ist das nicht ungedingt nötig, der User kann aber auch sowas wie 'weiss ich doch nicht' antworten, was einen Syntaxfehler bei der Verarbeitung ergibt. '::' gibt auch einen Syntaxfehler, besser den Kommentar mit 'REM' anfangen.

Nach den ':wecker' könnte man noch folgendes einfügen ;D :
if "%date:~3,6%"=="01.01." exit
if "%date:~3,6%"=="02.01." exit
if "%date:~3,6%"=="03.01." exit
if "%date:~3,6%"=="04.01." exit
 
Zurück
Oben