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, 5661 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 ...

PHP
Bewertungssystem wie berechnen?
gelöst Frage von icegetPHP4 Kommentare

Hallo liebe Community, ich habe folgendes Problem: Die Benutzer auf einer Website (angemeldet mit ihrer email) dürfen Rezepte bewerten. ...

Ausbildung
Datenübertragung berechnen
Frage von M.MarzAusbildung6 Kommentare

Hallo zusammen, ich habe folgende Aufgabe zu erledigen und weis nicht wie ich da vorgehen soll, kann mir da ...

Batch & Shell
Zwischenzeit berechnen
gelöst Frage von MPFGBatch & Shell5 Kommentare

Hallo, ich suche eine Möglichkeit ein Programm zu einer eingegebenen Zeit mit Batch zu schließen. mit timeout soll die ...

Neue Wissensbeiträge
Backup

2016 - Restore mit WBAdmin - iSCSI Device als Sicherungsziel

Erfahrungsbericht von Henere vor 4 StundenBackup

Servus zusammen, was mich eben einige graue Haare gekostet hat Server 2016. Ich habe meinem Server eine weitere M2 ...

Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 2 TagenHumor (lol)5 Kommentare

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 2 TagenExchange Server7 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 3 TagenErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Heiß diskutierte Inhalte
Netzwerke
Netzwerk-Architektur mit VLANs
Frage von niLuxxNetzwerke43 Kommentare

Liebe Community, Ich hätte eine kurze Frage an euch. Ich werde in Kürze das Netzwerk unserer (sehr) kleinen Firma ...

Netzwerke
SSH - Wieso werde ich nach VPN Verbindung rausgeschmissen?
Frage von VernoxVernaxNetzwerke10 Kommentare

Hallo, ich habe es endlich geschafft mein Handy mit einer VPN Verbindung an meinen Router anzuschließen. Nach der Login ...

Microsoft
Ist es möglich ein reines Volume C Datenbackup in eine Hyper-V VM zu konvertieren?
Frage von Frank84Microsoft10 Kommentare

Hallo zusammen, ich habe hier ein Backup vorliegen, das ausschließlich das komplette C:\ Volume eines physischen Server 2012 enthält. ...

Windows Server
Freigaben per Default nur für Domänen-Benutzer
Frage von tierwoWindows Server8 Kommentare

Hallo gibt es eine Möglichkeit, einen Server 2016 so zu konfigurieren (z.B. per GPO), dass Freigaben die erstellt werden ...