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

Datum und Zeit auslesen und vergleichen per batch

Frage Entwicklung Batch & Shell

Mitglied: Alme123

Alme123 (Level 1) - Jetzt verbinden

09.10.2012 um 09:52 Uhr, 4926 Aufrufe, 3 Kommentare

Hallo zusammen,

Ich habe folgende Logs:

09.10.2012 , 9:45:58,16 : PC startet
09.10.2012 , 10:45:09,12 : PC lädt logs.sys
09.10.2012 , 22:12:45,35 : PC wird heruntergefahren

Alle Logeinträge (1 Eintrag pro Zeile) sollen nach dem Datum und der Zeit geprüft werden.
Danach soll das aktuelle Datum und die aktuelle Zeit ausgelesen werden.
Alle Einträge, die nach dem aktuellen Datum und der aktuellen Zeit sind, sollen angezeigt werden.

Die Logs varieren, weshalb ich nicht die Logs einfach auslesen kann.


Danke im Vorraus.

Alme123
Mitglied: 60730
09.10.2012, aktualisiert um 11:06 Uhr
moin,

das sieht aber grausam aus....

Tag.Monat.Jahr leerzeichen komma leerzeichen Stunde:Minute:sekunde,millisek leerzeichen Doppelpunkt leerzeichen Art

Geht das nicht hybscher?
Wenn du wissen willst, wie - such des Bibers Tut zum Thema batch datum
Dann überlegst du, ob du mit größer kleiner (eher nein) oder mit findstr (n) und more was zimmerst.

Bei Gegenfragen gerne mehr, aber so ist das langweiliges vorkauen von bereits durchgekautem.

Gruß
Bitte warten ..
Mitglied: Alme123
09.10.2012 um 16:49 Uhr
Hi LimboSeil,

ok, ich habe mal probiert, aber das Script stürtzt immer ab...
01.
@echo off & setlocal 
02.
set in=%time% 
03.
set zeit=%time:~0,5% 
04.
set "nach=%zeit% - PC: lädt logs.sys" 
05.
echo %nach%>"1.txt" 
06.
setlocal ENABLEDELAYEDEXPANSION 
07.
set strArrayNumber=0 
08.
set zahl=0 
09.
for /f "usebackq" %%i in (`type "1.txt"`) do call :ow 
10.
set zahlo=0 
11.
:ad 
12.
set /a zahlo=%zahlo% +1 
13.
set yx=%Var!zahlo!% 
14.
set Var!zahlo!=%yx:~0,5% 
15.
if %Var!zahlo!% GTR %in% call :da 
16.
if not "%zahl%"=="%zahlo%" goto ad1 
17.
:da 
18.
echo %Var!zahlo!% 
19.
goto :eof 
20.
:ad1 
21.
pause 
22.
exit 
23.
:ow 
24.
set /a zahl=%zahl% +1 
25.
set Var!zahl!=%%i 
26.
goto :eof
Alme123
Bitte warten ..
Mitglied: pieh-ejdsch
09.10.2012, aktualisiert 10.10.2012
moin Alme,

ich hab das mal überflogen. Ein Log ist ja immer etwas dokumentiertes - also schon vergangen. Es kann so eine Aktuelle Zeit in einem Log nie gefunden werden.

Wenn 60730 wieder die @echo off-Keule rauskramt ...

Die paar Zeilen sollen was machen?

For bietet Dir an, direkt Zeile für Zeile einer Datei abzuarbeiten. Dafür ist hier ein For-Tutorial.
In einer Sub brauchst Du nicht unbedingt enabledelayedexpansion. Bei der Berechnung mit Numerischen Variablen brauchst Du Enabledelayedexpansion schon mal überhaupt nicht, weil die Variablen nur mit den Namen (ohne ! und %) angesprochen werden. Ist auch ein Tutorial für Batch Variablen hier zu finden.

Du musst nur die Zeitinfo.cmd aus dem von 60730 aufgezeigten @Biber Tutorial benutzen um die Variablen JJ MM TT zum größer; kleiner Vergleich zu nutzen. Die Zeit kannnst Du so nicht vergleichen, da zB. 9:45 größer als 10:00 ist.
Da das Führende Zeichen (0 oder [Leerzeichen]) zum vergleichen nicht da ist musst Du dies hinzufügen - sprich einen Extra-Vergleich ob Stunde kleiner 10 dann mit führendem fehlenden (Leer-)Zeichen die Ausgabe der Datei mit der Uhrzeit Vergleichen:
01.
if %HH% leq 9 ( 
02.
  if %JJ%%MM%%TT%^ %Uhrzeitstr:,=^,% gtr %date:~-4%%date:~-7,-5%%date:~-10,-8%^%time:,=^,% echo Zeit ist groesser 
03.
) else if %JJ%%MM%%TT%%Uhrzeitstr:,=^,% gtr %date:~-4%%date:~-7,-5%%date:~-10,-8%^%time:,=^,% echo Zeit ist groesser
mit Anführungszeichen sieht es nicht so extrem aus.

Gruß Phil
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Textdateien vergleichen BATCH (2)

Frage von FeudelFred zum Thema Batch & Shell ...

Batch & Shell
gelöst BATCH: Daten aus Textdatei auslesen und in neue Textdatei separieren (9)

Frage von Manuel1234 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...