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, 8729 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
Windows Server
gelöst VMware Maschine (SBS 2008) fährt alle 2 Stunden herunter (4)

Frage von PizzaPepperoni zum Thema Windows Server ...

Exchange Server
gelöst SMTP bei Exchange 2016 "hängt" 3 Sekunden (6)

Frage von slansky zum Thema Exchange Server ...

PHP
Freie innerhalb eines JoomlaFramework programmieren (2)

Frage von rababar2014 zum Thema PHP ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
iOS
16 iPads zentrall verwalten (18)

Frage von simonlohr zum Thema iOS ...

Viren und Trojaner
Ransomware .nm4 (15)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

Microsoft Office
gelöst VBA Excel Problem mit UserForm, ListBox und TextBox (12)

Frage von abuelito zum Thema Microsoft Office ...