

LOGGEN IN DOS MIT DATETIME.COM

Eine Anwendung fr DATETIME.COM von Elmar Hanlhofer






Das kleine DOS-Programm DATETIME.COM
kann folgendes ausgeben -
entweder auf den Schirm oder in eine Datei:



datetime [string]              output of date and time + string

!d   day number                    !D   Weekday short
!E   Weekday long                  !m   month number
!b   month name short              !B   month name long
!y   year 2digits                  !Y   year 4digits
!H   hour                          !M   minute
!S   second                        !h   hundrets of second
!+d[value] add days                !-d[value] sub days
!+m[value] add months              !-m[value] sub months
!r   return                        !n   new line
!!   print !                       !lde german output
			     	    (default is english)

for microsoft style use  !r!n for return, for unix style use !n only

Example 1:          datetime Today is !D !d/!m/!y  Time:  !H:!M
output is:          Today is Sun 27/10/02  Time:  16:00
write into a file:  datetime !d/!m/!y > date.txt

Example 2:          datetime Yesterday was !D !d/!m/!y!-d1, a nice day









Die Eingabe in DOS:

datetime !H:!M > LOGTEST.TXT


[oder eine entsprechende Zeile in einer Batch-Datei]

Erstellt eine Logdatei namens "LOGTEST.TXT"
mit dem Eintrag der aktuellen Zeit im Format 	'16:00'

Jeder weitere Aufruf dieses Befehls wrde allerdings lediglich die
Angabe in dieser Datei auf mit	'16:01'  '16:02'  '16:03'  etc.
berschreiben.



----



Zum Loggen mu die Zeit nicht berschrieben, sondern ergnzt werden.
Dazu dient der Befehl  ">>" statt ">"

Die Anweisung

datetime !H:!M   >> LOGTEST.TXT



Ergibt tatschlich  16:01  16:02  16:03

- jedoch noch ohne Zeilenumbruch.



----



Dieses Manko behebt eine Batch-Anweisung mit den folgenden Zeilen:
(Der Verzeichnispfad C:\... kann ggf. entfallen)





datetime Log Eintrag !d/!m/!y	>> C:\LOGTEST.TXT
echo. 				>> C:\LOGTEST.TXT
datetime !H:!M	 		>> C:\LOGTEST.TXT
echo. 				>> C:\LOGTEST.TXT

cls





Wobei der Punkt den Zeilenumbruch ergibt.

Die Ausgabe lautet:


Log Eintrag Datum
15:41



Jeder neue Eintrag wird darunter gesetzt.





Eine zweite Batch-Anweisung mit folgenden Zeilen
schliet den Eintrag ab:





datetime Log Ende !d/!m/!y	>> C:\LOGTEST.TXT
echo. 				>> C:\LOGTEST.TXT
datetime !H:!M	 		>> C:\LOGTEST.TXT
echo. 				>> C:\LOGTEST.TXT
echo. 				>> C:\LOGTEST.TXT

cls




Die Ausgabe lautet nun:


Log Eintrag Datum
15:41
Log Ende Datum
16:45



----



Werden beide Batch-Anweisungen alternierend eingesetzt, wird jeder
Logeintrag mit einer Zeile Abstand unter den vorherigen gesetzt.

> Darauf achten, da der Befehl "cls" wirklich die letzte Zeile der
Batch-Datei ist - ohne weitere Leerzeile.

Die Ansprache der Batch-Dateien kann automatisiert erfolgen,
beispielsweise durch eine Verknpfung im Autostart-Ordner. Setzt man in
der Verknpfung in "Eigenschaften/Programm" "Ausfhren" auf "minimiert",
dann geschieht der Eintrag unbemerkt.

Die so erstellte Log-Datei lt sich beispielsweise in EXCEL ffnen und
auswerten, indem man die beiden Zeiten voneinander abziehen lt - und
zwar NUR die Zeit-Eintrge.

Dazu in Excel die Datei bereinigen und auf gleichmigen Abstand
bringen, die mit Text-Eintrgen gefllten Felder NICHT mit einer Formel
belegen, den ersten Block markieren und mit dem Plus- Zeichen auf die
erforderliche Zeilenlnge ziehen.

[Oder die > Hier beigefgte Excel-Datei benutzen: Ein Satz Dateien zur
Batch-Log-Erstellung befindet sich als "DOS-Logs.zip" im Archiv "Dos-
Exen.zip" im Freeware-Bereich]


Excel gibt dann die jeweilige Zeitdifferenz korrekt aus (bei Zeiten, die
ber 12:00 / 24:00 hinaus gefhrt werden, zur Berechnung die End-
Stunden um 12 bzw. 24 erhhen).


Und besten Dank an Alle, die hier Vorarbeit geleistet haben.

