Als krönenden Abschluß möchten wir Ihnen zeigen, wie Sie dem PC zur Führung eines einfachen Logbuches erziehen können, in dem sämtliche Zeitpunkte, zu denen das System gestartet wurde, protokolliert werden. Voraussetzung ist natürlich, daß Ihr PC über eine batteriegepufferte Echtzeituhr verfügt. Da im Unterschied zu ATs auf XTs die Systemzeit erst per Zusatzprogramm auf den Wert der Echtzeituhr gesetzt werden muß, dürfen die Anweisungen zum Logbuch natürlich erst nach dem Zusatzprogramm zum Einsatz kommen:
IF EXIST \TMP\LOGBUCH.SYS REN \TMP\LOGBUCH.SYS *.TMP TIMEDATE >\TMP\LOGBUCH.SYS ECHO.>>\TMP\LOGBUCH.sys COPY LOGBUCH.SYS+LOGBUCH.TMP IF EXIST \TMP\LOGBUCH.TMP DEL \TMP\LOGBUCH.TMP
Damit die Bootzeiten rückwärts in die Datei LOGBUCH.SYS gelangen, plaziert der mit » + « kombinierte COPY-Befehl den aktuellen Zeitpunkt des Systemstarts jeweils an den Anfang des Logbuches. Dadurch haben Sie beim Auflisten mit »TYPE LOGBUCH.SYS« die jüngsten Daten gleich zu Beginn. Ein Booten von Diskette kann dieses Verfahren leider nicht registrieren.
Wollen Sie sich beim Booten lediglich Datum und Uhrzeit des letzten Systemstarts anzeigen lassen, können Sie die folgenden Zeilen in die AUTOEXEC.BAT übernehmen.
IF NOT EXIST \TMP\LASTBOOT.SYS GOTO SKIP ECHO Letzter Systemstart: TYPE \TMP\LASTBOOT.SYS ECHO. :SKIP TIMEDATE >\TMP\LASTBOOT.SYS
Der Ordnung halber sollten Sie die wichtigsten temporären Dateien in einem ausschließlich dafür vorbehaltenen Directory sammeln. In unseren Beispielen verwenden wir stets »\TMP«.
Name: | TIMEDATE.DEB |
Funktion: | Gibt das aktuelle Systemdatum gemeinsam mit der momentanen Uhrzeit aus. |
Übersetzung: | DEBUG <TIMEDATE.DEB |
Prüfsumme: | 0548 |
Anwendung: | TIMEDATE |
Einschränkungen: | ./. |
A MOV AH,2A ;100 INT 21 ;102 MOV DI,17C ;104 INC DI ;107 CMP By[DI-1],24 ;108 JNZ 107 ;10C SUB AL,1 ;10E JNB 107 ;110 MOV SI,15F ;112 MOV AL,DL ;115 CALL 153 ;117 MOV AL,DH ;11A CALL 153 ;11C SUB CX,76C ;11F MOV AL,CL ;123 ADD SI,2 ;125 CALL 153 ;128 MOV AH,2C ;12B INT 21 ;12D MOV AL,CH ;12F ADD SI,2 ;131 CALL 153 ;134 MOV AL,CL ;137 CALL 153 ;139 MOV AL,DH ;13C CALL 153 ;13E MOV AL,DL ;141 CALL 153 ;143 MOV DX,DI ;146 CALL 14E ;148 MOV DX,15D ;14B MOV AH,9 ;14E INT 21 ;150 RET ;152 AAM ;153 XCHG AL,AH ;155 ADD [SI],AX ;157 ADD SI,3 ;159 RET ;15C DB ", 00.00.1900 / " DB "00:00.00,00 Uhr$" DB "$Sonntag$Montag$" DB "Dienstag$Mittwoch$" DB "Donnerstag$" DB "Freitag$Samstag$" RCX B9 NTIMEDATE.COM W Q
Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot
P.S. Frank Kwirandt hat nach der Jahrtausendwende zwei Fehler gefunden und korrigiert:
Fehler 1: In der AUTOEXEC.BAT
muss es in der vierten Zeile anstelle von COPY LOGBUCH.SYS+LOGBUCH.TMP
korrekt COPY LOGBUCH.SYS+LOGBUCH.TMP LOGBUCH.SYS
heißen.
Fehler 2: Im Listing von TIMEDATE.DEB
muss es in der 12. Zeile von unten anstelle von DB “, 00.00.1900 / ”
korrekt DB “, 00.00.20&0 / ”
heißen.