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, 8583 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(6)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
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 ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (17)

Frage von Unwichtig zum Thema Netzwerkmanagement ...