Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Wecker per Batch?

Frage Entwicklung Batch & Shell

Mitglied: 94502

94502 (Level 1)

14.10.2010 um 17:56 Uhr, 8243 Aufrufe, 13 Kommentare

ich will mir per Batch eine art wecker Programmieren

mein Code:
@ECHO OFF
Color A
echo Stell den wecker ein (hh:mm:ss)
set /p Wecker=
set %time%=hh:mm:ss

:start
set var=
set /a var=%Wecker%-%Time%
echo noch %var%
if '%var%'=='00:00:00' goto Ende
cls
goto start

:Ende
echo Beep
echo 
echo 
echo 
echo 
echo 
ping localhost -n 0,5 >nul
echo Beep
echo 
echo 
echo 
echo 
echo 
ping localhost -n 0,5 >nul
goto Ende
EXIT



Aber wenn ich es öffne sagt der Computer etwas wie Fehlender Operator
Mitglied: Friemler
14.10.2010 um 18:12 Uhr
Hallo,

die Variable %time% ist eine vordefinierte Umgebungsvariable von CMD.exe, die die aktuelle Zeit enthält, außer man beschreibt sie mit eigenen Werten. Deshalb solltest Du %time% nicht zum speichern der gewünschten Weckzeit verwenden. Der Ausdruck
set /a var=%Wecker%-%Time%
funktioniert nicht, der verursacht höchst wahrscheinlich die Fehlermeldung. Durch die enthaltenen Doppelpunkte kann die Subtraktion nicht ausgeführt werden. So schlau ist der Befehlsinterpreter nicht, das er versteht, was Du damit meinst. Der Befehl ping -n 0,5 ist schlichtweg Unfug, Du kannst keinen halben Ping absetzen.

Folgender Code wird das Problem wohl lösen:
01.
@echo off 
02.
 
03.
setlocal 
04.
 
05.
set /p "AlarmTime=Geben Sie die gewünschte Weckzeit ein (hh:mm): " 
06.
 
07.
:Loop 
08.
for /f "delims=" %%t in ('time /t') do ( 
09.
  if "%%t" equ "%AlarmTime%" goto Ring 
10.
11.
goto Loop 
12.
 
13.
:Ring 
14.
echo ^G 
15.
echo ^G 
16.
echo ^G 
17.
ping -n 1 127.0.0.1 > NUL 
18.
goto Ring
Die Zeichen ^G erzeugst Du durch drücken von STRG+G, das erzeugt den ASCII-Code 7, der einen Piepston bei der Ausgabe erzeugt. Der Wecker lässt sich durch STRG+C ausschalten.

Gruß
Friemler
Bitte warten ..
Mitglied: mathe172
14.10.2010 um 18:19 Uhr
Hallo A14011997!

Zuerst malwenn ich es dir nicht sage, reklamiert sicher wieder TimoBeil ) Lass bei unfertigen Batches das echo off weg und starte die Datei bei Abstürzen mit "call MeineBatch.bat"

Die Zeile "set %time%=...." bringt nichts, da du damit einer Variable mit dem Namen der aktuellen Zeit den Wert "hh:mm:ss" zuweist. Ausserdem kann man meines Wissens nach nicht einfach so mit Zeiten rechnen.

Das Problem mit dem Vergleich sollte trotzdem lösbar sein, wenn du nur auf das Format der Zeit schaust (bei mir ist es z.B. hh:mm:ss.hh),
die Subtraktion wird schwierig werden.

Was die Fehlermeldung angeht, der kommt wahrscheinlich von der Subtraktion.

Mathe172

P.S:Ich will dir jetzt keine vollständige Lösung geben, das solltest du selbst hinbekommen
P.P.S Verwende bitte Code-Formatierungen an...
Bitte warten ..
Mitglied: mathe172
14.10.2010 um 18:20 Uhr
Da war wohl jemand schneller ...
Bitte warten ..
Mitglied: miniversum
14.10.2010 um 19:04 Uhr
Ich hätte mir die ganze Rechnerei mit der Zeit gespart und dann lieber den AT Befehl benutzt....
Bitte warten ..
Mitglied: 94502
14.10.2010 um 19:41 Uhr
jetzt funktionirts aber es kommt immernoch fehlender opperator
code:
Color A
echo Stell den wecker ein (hh)
set /p Weckerh=
echo Stell den wecker ein (mm)
set /p Weckerm=
echo Stell den wecker ein (ss)
set /p Weckers=


:start
set Time1=%time:~0,-2%
set Time2=%time:~3,-2%
set Time3=%time:~6,-3%
set /a dif1=%Weckerh%-%Time1%
set /a dif2=%Weckerm%-%Time2%
set /a dif3=%Weckers%-%Time3%
echo %dif1% . %dif2% . %dif3%
if %dif1%==0 goto Start2
cls
goto start

:Start2
set Time1=%time:~0,-2%
set Time2=%time:~3,-2%
set Time3=%time:~6,-3%
set /a dif1=%Weckerh%-%Time1%
set /a dif2=%Weckerm%-%Time2%
set /a dif3=%Weckers%-%Time3%
echo %dif1% . %dif2% . %dif3%
if %dif2%==0 goto Start3
cls
goto Start2

:Start3
set Time1=%time:~0,-2%
set Time2=%time:~3,-2%
set Time3=%time:~6,-3%
set /a dif1=%Weckerh%-%Time1%
set /a dif2=%Weckerm%-%Time2%
set /a dif3=%Weckers%-%Time3%
echo %dif1% . %dif2% . %dif3%
cls
if %dif3%==0 goto Ende
goto Start3

:Ende
echo Beep
echo 
echo 
echo 
echo 
echo 
ping localhost -n 0,5 >nul
echo Beep
echo 
echo 
echo 
echo 
echo 
ping localhost -n 0,5 >nul
cls
goto Ende
EXIT
Bitte warten ..
Mitglied: mathe172
14.10.2010 um 19:55 Uhr
Hallo A14011997!

Ich glaube das Minus in "%time:~0,-2%" löst den fehler aus. Schau doch mal wo der Code stehenbleibt(im Fenster). Und anstatt den 3 Startblöcken würde ich

01.
if %dif1%=0 if %dif2%=0 if %dif3%=0 goto Ende
als Prüfzeile verwenden.
Das mit den Differenzen kann meiner Meinung nicht funktionieren: Was wenn ich auf 00:01:10
warte und es ist 00:00:30? Da käme ja 00.01.-20 raus!?

Mathe172
Bitte warten ..
Mitglied: miniversum
14.10.2010 um 19:59 Uhr
Ja da stimme ich zu.
Es wäre evtl kürzer und weniger fehlerträchtig wenn du einfach bei der Weckzeit die : entfernst und dann in Schleife immer wieder bei %time% auch die : weg machst und vergleichst.
Bitte warten ..
Mitglied: Friemler
14.10.2010 um 20:27 Uhr
Ist hier eigentlich noch niemandem aufgefallen, das der TO einen halben Ping absetzen will? Wahrscheinlich um eine halbe Sekunde Verzögerung zwischen den Pieptönen zu erzeugen. Hatte ich ja schon in meinem ersten Posting erwähnt, was aber anscheinend keiner, und besonders nicht der, den es am meisten anginge, gelesen hat... Stattdessen ist der #*$*&?-Code jetzt 63 Zeilen lang. Oder sollte man "Code" durch seine deutsche phonetische Entsprechung ersetzen?
Bitte warten ..
Mitglied: nEmEsIs
14.10.2010 um 21:26 Uhr
Hi

Vorsicht vll. programmiert er gerade den neuen Stutnext!!!
(Email programmieren, also soll er sich per Mail verbreiten,
dann kommt der Wecker (Wecker per Batch?) zum Einsatz,
dann das hier "Batch beim start von z.b. iexplorer starten"
und zum Schluss kommt der Tipp "Farben bei Batch")

Mal sehen was das ergibt.




Mit freundlichen Grüßen Nemesis
Bitte warten ..
Mitglied: Friemler
14.10.2010 um 21:31 Uhr
Hi!

Zitat von nEmEsIs:
Vorsicht vll. programmiert er gerade den neuen Stutnext!!!

Wohl eher den neuen StussNext

Gruß
Friemler
Bitte warten ..
Mitglied: miniversum
14.10.2010 um 21:46 Uhr
Interessant auf was für ideen die Leute kommen bei dieser Kombination.
Ich würde da eher als eine Einfache Surfüberwachung um daran erinnert zu werden wenn man einen Termin hat oder einfach nicht zu lange im Internet ist, bzw. nach einer bestimmten Zeit nicht mehr. Das ganze dann mit Farben etwas aufgehübscht.
Bitte warten ..
Mitglied: 94502
15.10.2010 um 09:48 Uhr
Danke jetzt Funktioniert es fehlerfrei
Bitte warten ..
Mitglied: ProGamerFTW
16.07.2014 um 04:02 Uhr
ist vllt ein wenig spät, aber ich bin gerade auf dieses thema hier gestoßen und interessiere mich auch für diesen Wecker

wäre es möglich das du die fertige bat datei hier rein setzt ?
ich kenne mich leider so gut wie gar nicht damit aus und bin noch am lernen ^^
Bitte warten ..
Neuester Wissensbeitrag
DSL, VDSL

Telekom blockiert immer noch den Port 7547 in ihrem Netz

(3)

Erfahrungsbericht von joachim57 zum Thema DSL, VDSL ...

Ähnliche Inhalte
Batch & Shell
Batch zum bearbeiten mehrerer CSV (2)

Frage von Matzus87 zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (11)

Frage von clragon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...