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

Uhrzeit in *.dat Datei auslesen und mit aktueller Zeit vergleichen

Mitglied: zigges

zigges (Level 1) - Jetzt verbinden

07.02.2006, aktualisiert 09.02.2006, 15420 Aufrufe, 6 Kommentare

Uhrzeit soll ausgelesen werden, um diese dann mit der aktuellen Zeit vergleichen. Bei Aweichung >15 Minuten soll Meldung (net send) verschickt werden.

Hallo zusammen,

eine Batch Datei erstellt bei ihrem Aufruf u.a. eine Datei ("last_import.dat") in die nur die aktuelle Uhrzeit und das Datum geschrieben wird, einzeilig ("15:40:11 - 06.02.2006").
Meine Batch Datei soll nun zeitgesteuert prüfen, ob die Abweichung der Uhrzeit aus der Datei größer als 15 Minuten gegenüber der aktuellen Systemzeit beträgt. Ist dies der Fall, soll entweder über net send eine Meldung verschickt oder eine Mail verschickt werden.

Das Auslesen der dat Datei habe ich wie folgt gemacht:

for /F "Tokens=1" %%i in (last_import.dat) do Set Var=%%i

Allerdings wird so komplett "15:40:11" in die Variable geschrieben. Die aktuelle Zeit bekomme ich mit: "%time:~0,5%"
Wie kann ich nun diese Zeiten vergleichen?

ALTERNATIVE:
Könnte mir auch vorstellen, die Uhrzeit der letzten Änderung, die ja sowieso an der Datei gespeichert ist mit der aktuellen Uhrzeit zu vergleichen. Ist das einfacher?

Vielen Dank schon mal für Eure Hilfe.
Gruß
Markus
Mitglied: Biber
07.02.2006 um 18:04 Uhr
Moin zigges,

würde ich wie folgt skizzieren...

01.
::------ snipp CheckOlder15Mins.bat ---------- 
02.
@echo off & setlocal 
03.
Set /a "MaxMins=15" 
04.
:: ich gehe über die Dateierstellungszeit, nicht den Inhalt. (Egal/beliebig) 
05.
for /F %%i in ('dir /b last_import.dat') do set "DatDate=%%~ti" 
06.
:: führt z.B. zum Befehl: "set "DatDate=07.02.2006 13:46" 
07.
:: Von diesem Datei-Datum speichern wir den Tag in der Variablen DatTach 
08.
:: und die Zeit in der Variablen DatZeit 
09.
for /F "tokens=1-2" %%i in ("%DatDate%") do set "DatTach=%%i" & set "DatZeit=%%j" 
10.
:: Führt zu:..... set "DatTach=07.02.2006" & set "DatZeit=13:46" 
11.
:: Die DatZeit rechne ich in Minuten um: 
12.
for /F "delims=: tokens=1-2" %%i in ("%DatZeit%") do set /a "DatMins=%%i*60+%%j" 
13.
:: Aufgelöst: set /a "DatMins=13*60+46" 
14.
:: Ergebnis: %DatMins%=826 
15.
:: Dasselbe für die Zeit jetzt (%time%) 
16.
for /F "delims=: tokens=1-2" %%i in ("%time%") do set /a "NowMins=%%i*60+%%j" 
17.
:: jetzt ist =17:53:57 --->set /a "NowMins=17*60+53"---->NowMins= 1073 
18.
Set /a "DiffMins=%NowMins%-%DatMins" 
19.
If %DiffMins% GTR %MaxMins% goto MachWasAuchImmer 
20.
IF NOT [%DatTach%]==[%DATE%] if %NowMins% GTR %MaxMins% goto MachWasAuchImmer 
21.
:: wenn das Datum nicht "heute" ist und heute schon mehr als 15 Minuten rum sind.. 
22.
:: dann Mach auch was.. guten Gewissens. Andernfalls "gehe zum Ende" 
23.
goto :eof 
24.
 
25.
:MachWasAuchImmer 
26.
Echo Datei last_import.dat ist älter als 15 Minuten! 
27.
Echo ...weitere Aktionen...blah 
28.
::------ snapp CheckOlder15Mins.bat------ **Ungetestete Skizze!**
HTH Biber
Bitte warten ..
Mitglied: zigges
08.02.2006 um 13:51 Uhr
Hallo Biber,

vielen Dank erstmal, erste Tests haben auch schon erfolgreich funktioniert.
Hätte ich alleine nie hingekriegt.

Nun möchte ich aber gerne die Zeit der letzten Änderung an dieser Datei vergleichen und nicht die Zeit der Erstellung. Wie geht denn das?

Und wenn ich es hier schon mit nem Profi zu tun habe, gleich die nächste Frage:
Ist es möglich aus einer Batch Datei eine eMail zu versenden oder wie kann ich sonst geschickt eine Meldung an jemanden leiten?

Danke + Gruß
Markus
Bitte warten ..
Mitglied: Biber
08.02.2006 um 14:02 Uhr
Moin Markus,

a) die Dateizeit, die ich prüfe, ist das Änderungsdatum (genaugenommen). In Deinem Fall, wenn Du diese einzeilige *.dat-Datei anlegst und nie änderst, ist das natürlich gleich dem Erstellungsdatum.

b) Suche mal über die Forumssuche nach der Blat.exe.
Damit kannst Du per CMD-Prompt/per Batch Mails versenden. Freeware und bedienbar.

HTH Biber
Bitte warten ..
Mitglied: zigges
09.02.2006 um 00:29 Uhr
Hi Biber,

noch mal vielen Dank für die tolle Hilfe und schnelle Antwort, ich bin leider nicht so schnell

Aber irgendwas scheint an dem Skript noch schief zu gehen. Kann es sein, dass das mit dem Tag nicht richtig umesetzt wird? Bei meinen Tests kam die falsche Ausgabe. Werd auch noch etwas tiefer reingehen und prüfen, vielleicht fällt Dir ja spontan was auf.

Bis denn, Danke
Markus
Bitte warten ..
Mitglied: Biber
09.02.2006 um 08:07 Uhr
Moin Markus,

sorry..
>>IF NOT [%DatZeit%]==[%DATE%] if %NowMins% GTR %MaxMins% goto MachWasAuchImmer
>>:: wenn das Datum nicht "heute" ist und heute schon mehr als 15 Minuten rum sind..

...ist natürlich Bullshit... %DatZeit% ist die Datei-Uhrzeit...%DATE% ein Datum...

IF NOT [%DatTach%]==[%DATE%] if %NowMins% GTR %MaxMins% goto
...muss es heißen.

Danke für die Rückmeldung. Korrigier ich oben auch.
Gruß Biber
Bitte warten ..
Mitglied: zigges
09.02.2006 um 09:47 Uhr
Morgen Biber,

schon wieder ich... Das mit dem Tach hätte mir eigentlich auch gleich auffallen können, aber Du hast eben ein besseres Auge für sowas.

Ich hätte da noch mal einen Fehler bei der Ausgabe:
"Invalid number. Numeric constants are either decimal (17),
hexadecimal (0x11), or octal (021).
Datei last_import.dat ist Σlter als 15 Minuten!
...weitere Aktionen...blah
Press any key to continue . . ."

Der Fehler tritt aber nur auf, wenn ich eine Datei überprüfe, die eigentlich innerhalb der zulässigen Zeit modifiziert wurde. Wird eine Datei geprüft, die älter ist als 15 Min, kommt nur die Ausgabe "Datei last_import.dat ist ..."

Stimmt da was mit der Variablen nicht?

Danke + Gruß
Markus
Bitte warten ..
Ähnliche Inhalte
Linux Tools
Linux: Daten aus Datei auslesen
gelöst Frage von peterhaLinux Tools4 Kommentare

Moin zusammen, per wget <URL> lade ich eine Website herunter. Die Datei Website.txt beinhaltet u.a. die Zeile: Meine Frage ...

Batch & Shell

Zeitangabe mit aktueller Angabe vergleichen

gelöst Frage von Peter32Batch & Shell14 Kommentare

Hallo, ich suche eine möglichst einfache Lösung, wie ich ein Zeitformat in einer Textdatei mit der aktuellen Zeit vergleichen ...

Batch & Shell

Auslesen und Vergleichen Zweiter CSV Dateien Powershell

gelöst Frage von HainoonBatch & Shell7 Kommentare

Hallo zusammen, ich arbeite im Moment an einem Script zum auslesen und vergleichen von Usern in der AD. Das ...

Batch & Shell

Dateien vergleichen

gelöst Frage von SpacewarpBatch & Shell4 Kommentare

Hallo, vorweg ich bin neu hier. Meine Problem ist das ich zwei TXT Dateien habe. Bsp.: -Datei1.txt- User Programm ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...

Windows Server
NTFS Berechtigungen Ordnerstruktur
Frage von hukahu23489Windows Server11 Kommentare

Hallo, ich bin seit kurzem in einer neuen IT-Abteilung und bin über das Berechtigungskonzept des Unternehmens sehr schockiert. Ich ...