archor
Goto Top

CMD, .bat Wecker der ab gewisser Uhrzeit ein Lied abspielt.

Hallo, die Frage steht eigentlich schon im Titel.


@echo off ( das "at steht dran wird aber nicht angezeigt)

setlocal

set /p "AlarmTime=Geben Sie die gewünschte Weckzeit ein (hh:mm): "

for /f "delims=" %%t in ('time /t') do (
if "%%t" equ "%AlarmTime%" goto start
)

start song.mp3

pause>nul



So sieht es bei mir aus, aber es spielt das Lied sofort ab und nicht die angegebene Zeit.

Kann mir irgendjemand helfen?

Content-Key: 217632

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

Printed on: April 24, 2024 at 15:04 o'clock

Member: ticuta1
ticuta1 Sep 23, 2013 at 11:44:31 (UTC)
Goto Top
Hallo,

vielleicht fehlt etwas?
HowTo - Wie man Subroutinen in Batchfiles erstellt

LG, ticuta1
Member: Archor
Archor Sep 23, 2013 at 11:57:11 (UTC)
Goto Top
Leider kann ich damit nichts anfangen da mir die "Subroutinen" nicht weiterhelfen.
Member: ticuta1
ticuta1 Sep 23, 2013 at 12:02:05 (UTC)
Goto Top
hallo,

echo off ( das "at steht dran wird aber nicht angezeigt)

setlocal

set /p "AlarmTime=Geben Sie die gewünschte Weckzeit ein (hh:mm): "

for /f "delims=" %%t in ('time /t') do (
if "%%t" equ "%AlarmTime%" goto :playsong
)
exit

:playsong
start song.mp3

pause>nul


LG, ticuta1
Member: pieh-ejdsch
pieh-ejdsch Sep 23, 2013 at 15:25:36 (UTC)
Goto Top
moin,

Lösung 1: stell den Code in Codetags. Dazu findest Du ganz unten auf der Seite einen Link mit ?Hilfe, dann zu Formatierungen.
Lösung 2: wenn @echo off die erste Zeile einer Batch ziert, wird das Bugtracking unötig erschwert.
Lösung 3: start erwartet auch einen Titelnamen für das Programmfenster
Lösung 4: time steht in der dynamischen Variable und kann daher auch ohne Forschleife benutzt werden.

da ich sowieso mal nen neuen Wecker wollte:
@echo off
setlocal
mode 50,3
set "Music=D:\Musik\Bravo Hits 63\118 Buzzin' - Shwayze.mp3"  
:Intime
title Es ist jetzt %time:,=&rem % 
set /p "AlarmTime=Gib die ErinnerungsZeit ein (hh:mm): " ||goto Intime  
:Test
title Es ist jetzt %time:,=&rem % 
call %%time:%Alarmtime%=rem%% 2>nul ||(2>nul >nul (timeout /t 4 ||ping localhost -n 4) &goto :Test)
echo Es ist soweit
start "Wecker" "%Music%"  

Gruß Phil
Member: bastla
bastla Sep 23, 2013 updated at 17:38:30 (UTC)
Goto Top
Hallo Archor und willkommen im Forum, hallo ticuta1!

Vorweg zu
echo off ( das "at steht dran wird aber nicht angezeigt)
Für das Posten von Codeschnipseln gäbe es ja die passende Formatierung ...
Wenn das tatsächlich per Batch abgehandelt werden soll (und nicht als "Geplanter Task") wird's wohl einer Endlosschleife bedürfen - also eher etwas in der Art (ungetestet):
@echo off & setlocal
set /p "AlarmTime=Geben Sie die gewünschte Weckzeit ein (hh:mm): "  
:Loop
if "%time:~,5%" neq "%AlarmTime%" goto :Loop  
start song.mp3
pause>nul
Grüße
bastla

[Edit] @ PH
start erwartet auch einen Titelnamen für das Programmfenster
Nicht notwendiger Weise; werden allerdings Anführungszeichen für den Pfad verwendet (was zumeist ratsam ist), müssen auch welche für den Titel gesetzt werden (auch wenn nix dazwischen steht) ...
[/Edit]
Member: Archor
Archor Sep 24, 2013 at 11:03:24 (UTC)
Goto Top
Danke erstmal an alle! ♥

Hat jetzt super Funktioniert.

Und ein riesen Lob an bastla, da ich sozusagen durch ihn/ihr auf das Forum gestoßen bin.

Grüße
Archor