Top-Themen

Aktuelle Themen (A bis Z)

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 Zeitdifferenz berechnen

Mitglied: 64681

64681 (Level 1)

23.05.2008, aktualisiert 26.05.2008, 5693 Aufrufe, 4 Kommentare

Hallo,

ich habe zwei Logfiles. In beiden stehen Uhrzeiten:

Auszug:

13:52:10,25
13:54:45,67
13:57:06,42


Nun möchte ich eine Batchdatei, die folgendes macht:

1. 1. Zeile des Logfiles A einliest und von der 1. Zeile des Logfiles B abzieht.
2. 2. Zeile des Logfiles A einliest und von der 2. Zeile des Logfiles B abzieht.
...
Bis zum Ende der Datei.

Die Ergebnisse sollen dann in eine Datei dauer.log gespeichert werden.

Kenne mich nicht so gut aus bei Batch-Programmierung. Kann mir da einer helfen?
Div
Jollstein
Mitglied: bastla
23.05.2008 um 15:46 Uhr
Hallo Jollstein!

Unter Zuhilfenahme von etwas (temporärem) VBS etwa so:
01.
@echo off & setlocal
02.
set "LogA=D:\LogA.txt"
03.
set "LogB=D:\LogB.txt"
04.
set "Dauer=D:\Dauer.txt"
05.

06.
set "D=%temp%\Dauer.vbs"
07.
echo Set args=WScript.Arguments>%D%
08.
echo Set fso=CreateObject("Scripting.FileSystemObject")>>%D%
09.
echo TA=Split(fso.OpenTextFile(args(0)).ReadAll,vbCrLF)>>%D%
10.
echo TB=Split(fso.OpenTextFile(args(1)).ReadAll,vbCrLF)>>%D%
11.
echo Anz=UBound(TA):If UBound(TB)^<UBound(TA) Then Anz=UBound(TB)>>%D%
12.
echo Set D=fso.CreateTextFile(args(2),True)>>%D%
13.
echo For i=0 To Anz>>%D%
14.
echo 	If TA(i)^<^>"" And TB(i)^<^>"" Then>>%D%
15.
echo 		TASec=Left(TA(i),8):TAHSec=Mid(TA(i),10)>>%D%
16.
echo 		TBSec=Left(TB(i),8):TBHSec=Mid(TB(i),10)>>%D%
17.
echo 		DSec=CDate(TBSec)-CDate(TASec):If DSec^<0 Then DSec=DSec+1 >>%D%
18.
echo 		DHSec=TBHSec-TAHSec:If DHSec^<0 Then DHSec=DHSec+100:DSec=DateAdd("s",-1,DSec)>>%D%
19.
echo 		D.WriteLine FormatDateTime(DSec,vbLongTime)^&","^&Right("0"^&CStr(DHSec),2)>>%D%
20.
echo 	End If>>%D%
21.
echo Next>>%D%
22.
echo D.Close>>%D%
23.
cscript //nologo %D% "%LogA%" "%LogB%" "%Dauer%"
24.
del %D%
Grüße
bastla

[Edit] Berücksichtigung eines Tageswechsels zwischen der Zeit in "Log A" und "Log B" hinzugefügt [/Edit]
Bitte warten ..
Mitglied: Biber
25.05.2008 um 14:52 Uhr
Moin Jollstein,

kannst Du mit bastlas Lösung leben (bzw. kannst/darfst Du VBS-Schnipsel verwenden)?

Weil.... natürlich könnte man/frau auch mit reinem Batch die Start- und Endeuhrzeit in Stunden und Minuten zerlegen und umrechnen mit einem Dutzend Zeilen...
..aber dieser Codeschnipsel hätte schon etwas Rührendes, weil eben im Batch die Möglichkeiten zur Datumsberechnung fehlen.

Deshalb wird in diese Richtung sicherlich nur dann noch jemand entwickeln, wenn es wirklich absolut unabwendbar ist.

Gib bitte deshalb vorher mal Rückmeldung.

Danke
Biber
Bitte warten ..
Mitglied: 64681
26.05.2008 um 08:31 Uhr
Hallo bastla,

sorry für die späte Antwort.
Zu deinem Code: Perfekt. Dankeschön, das funktioniert.
Eine kleine Frage hätte ich noch:

An welcher Stelle könnte man den Code abändern, wenn man noch zusätzlichen Text in einer Kommandobox ausgeben will? Momentan schließt sich die Box nach dem korrekten Ausführen...

Viele Grüße
Jollstein
Bitte warten ..
Mitglied: 64681
26.05.2008 um 08:32 Uhr
Hallo Biber,

also der bastla hat mir da schon geholfen. Der Code reicht mir. Aber danke für die Hilfe.

Viele Grüße
Jollstein
Bitte warten ..
Ähnliche Inhalte
Datenbanken
Zeitdifferenz berechnen MSSQL
Frage von EricAG3Datenbanken3 Kommentare

Hallo zusammen, ich würde gerne die Produktionszeit je Tag errechnen und ausgeben: Ich habe schon ein wenig mit datediff ...

Windows Server

Der Zeitdienst hat eine Zeitdifferenz von mehr als 128ms auf 90 festgestellt

Frage von 77282Windows Server4 Kommentare

Hallo, habe eben auf einem Client folgende Systemmeldung gefunden: +Der Zeitdienst hat eine Zeitdifferenz von mehr als 128ms auf ...

Windows Server

Der zeitdienst hat eine zeitdifferenz von mehr als 128 ms auf 90 sekunden festgestellt

Frage von 77282Windows Server5 Kommentare

Hallo, ich habe heute auf einem PC folgende Meldung im Ereignislog> System gesehen. Ein w32tm zeigt mir das die ...

Neue Wissensbeiträge
Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 5 StundenWindows 10

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 8 StundenSicherheit1 Kommentar

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Microsoft Office
TEAMS - Skype for business
Tipp von Nebellicht vor 8 StundenMicrosoft Office

Hallo, ms ersetzt Skype for business durch TEAMS. Also, nicht wundern wenn mit der OFFICE365 Umgebung kein Skype for ...

Windows 10

Windows 10: Cortana und die Suche gehen bald wieder eigene Wege

Information von Frank vor 12 StundenWindows 102 Kommentare

Microsoft hat einen neuen Insider Build von Windows 10 veröffentlicht (Fast Ring, Version 18317), wo die digitale Assistentin "Cortana" ...

Heiß diskutierte Inhalte
Windows Server
Uhren gehen immer wieder falsch
Frage von killtecWindows Server23 Kommentare

Hallo, ich habe folgende Konstellation: 1. Physischer DC Div. Virtuelle DC's auf Hyper-V Servern Die Hyper-V-Server, der Physische DC ...

Switche und Hubs
Medienkonverter mit 12 oder 24 Ports gesucht
Frage von wmuellerSwitche und Hubs20 Kommentare

Guten Morgen, ich bin auf der Suche nach einem größeren Medienkonverter, der "stumpf" 1:1 die Ports auf über ein ...

Windows Server
Client in die Domäne einbinden - Allgemeine Frage dazu
gelöst Frage von RalphTWindows Server18 Kommentare

Moin, ich habe 2 DCs in einer Hauptstelle und 2 DCs in einer Nebenstelle. Ich bringe in der Hauptstelle ...

Windows 10
VM wächst schnell von 14 auf 35 GB an - warum?
Frage von degudejungWindows 1018 Kommentare

Hallo, ich bin ein Freund schlanker VMs und setze daher gerne mit dem Erscheinen einer neuen Win10 Version - ...