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

Stunden, Minuten, Sekunden Timer programmieren

Frage Entwicklung Batch & Shell

Mitglied: Motorcross

Motorcross (Level 1) - Jetzt verbinden

02.08.2009, aktualisiert 10:01 Uhr, 8695 Aufrufe, 5 Kommentare

Hallo Administratoren,

ich wollte mir einen Timer programmieren, der wenn die Zeit abgelaufen ein anderes Programm startet.
Das Programm nennen wir mal test.bat.
Ich habe es jetzt mit Sekunden hinbekommen,aber das sieht ziemilich "blöd" aus wenn da z.B 4000 Sekunden steht.
Deswegen wollte ich das mit Stunden, Minuten und Sekunden machen. Das Problem ist :Ich weiß nicht wie das geht.
Könnte mir jemand helfen?
Gruß Motorcross
Mitglied: kaiand1
02.08.2009 um 11:03 Uhr
Es gibt sowas schon vom System her
Nennt sich Cronjob bzw Taks planer unter Windows....
Bitte warten ..
Mitglied: 1002-btl
02.08.2009 um 11:03 Uhr
Hallo,

mit welcher Programmiersprache arbeitest du denn?

Im Prinzip könntest Du doch einen Parameter der Form hh:mm:ss (string) in ein Array aufplitten (Trennzeichen wäre der ':').
Daraus könntest Du leicht die Sekunden berechnen.

(SekundenTotal=Sekunden+(Minuten*60)+(Stunden*3600))

Oder soll die Berechnung innerhalb der test.bat erfolgen?
Bitte warten ..
Mitglied: Motorcross
02.08.2009 um 11:12 Uhr
Hallo,
die Berechnungen sollen innerhalb test.bat erfolgen.
Gruß Motorcross
Bitte warten ..
Mitglied: rubberman
02.08.2009 um 12:30 Uhr
Vielleicht denke ich zu kompliziert, aber mit PING sollte das bei größeren Zeitspannen zu ungenau werden. In diesem Beispiel wird geprüft, ob sich die Systemzeit geändert hat. Das ergibt zwar am Anfang einen Fehler von max. einer Sekunde, danach sollte das ganze aber genau laufen.
01.
@echo off &setlocal 
02.
:: Zeit in Sekunden: 
03.
set /a z=4000 
04.
 
05.
set /a x=0 
06.
set /a z+=1 
07.
set ZeitEins=%time:~0,8% 
08.
:loop 
09.
set ZeitZwei=%time:~0,8% 
10.
if %ZeitEins% == %ZeitZwei% goto loop 
11.
set /a x+=1 
12.
set ZeitEins=%ZeitZwei% 
13.
set /a t=%z%-%x% 
14.
set /a h=%t%/3600 
15.
set /a Rest=%t%-%h%*3600 
16.
set /a m=%Rest%/60 
17.
set /a s=%t%-%h%*3600-%m%*60 
18.
set "h=0%h%" 
19.
set "m=0%m%" 
20.
set "s=0%s%" 
21.
set "Display=%h:~-2%:%m:~-2%:%s:~-2%" 
22.
cls 
23.
echo Countdown: %Display% 
24.
if %t% gtr 0 goto loop 
25.
 
26.
:: Hier dein Code:
Bitte warten ..
Mitglied: miniversum
02.08.2009 um 12:34 Uhr
Du meinst woll was in dieser Form:
01.
@echo off 
02.
if %1 gtr 0 FOR /L %h IN (1,1,%1) DO ping -n 3600 localhost >NUL 
03.
if %2 gtr 0 FOR /L %m IN (1,1,%2) DO ping -n 60 localhost >NUL 
04.
if %3 gtr 0 ping -n %3 localhost >NUL 
05.
echo Zeit abgelaufen. Tu jetzt was
Aufgerufen wird das ganze dann:
test.bat 1 30 25
für 1 Stunde 30 minuten und 25 sekunden
Bitte warten ..
Ähnliche Inhalte
Entwicklung
Programmieren einer Zeiterfassungs-App (2)

Frage von Projektarbeitit zum Thema Entwicklung ...

Windows 10
gelöst Desktop-Ordner werden erst nach 30 Minuten geöffnet (7)

Frage von Thorit zum Thema Windows 10 ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Benutzer lässt sich nur an einem Clientcomputer anmelden (11)

Frage von Ammann zum Thema Windows Server ...

Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...

Hyper-V
Virtualisierung eines Servers (7)

Frage von Lornsti zum Thema Hyper-V ...