Seite 1 von 1

Anleitung "Logbuch unter DOS erstellen"

Verfasst: So 1. Mär 2009, 17:23
von frank9652
Logbuch unter DOS erstellen.

Auf der Internetseite von Thomas Jannot findet man viele kleine nützliche Assembler-Listings
die man selber abtippen kann, und in COM-Dateien umwandeln kann.
Diese von mir erweiterte Version protokolliert den Einschaltzeitpunkt sowie als auch den
Ausschaltzeitpunkt des Rechners in der Datei Logbuch.txt

Einschränkungen:
Einschaltvorgänge über Diskette werden nicht registriert.
Ausschaltvorgänge werden nur registriert, wenn dies durch die Batch A.bat erfolgt.
Die Einträge sind abhängig vom korrekten Systemdatum.

Benötigt wird dazu das Listing "TIMEDATE" von Thomas Jannot, das Programm ATXOFF.COM sowie die
beiden Batchdateien A.bat und Log.bat
-----------------------------------------------------

Wie funktioniert es?
Wird der Rechner gestartet, dann wird durch die entsprechenden Einträge in der Autoexec.bat ein
Eintrag wie das folgende Beispiel in die Datei c:\temp\logbuch.txt eingetragen.

Beispieleintrag:
Sonntag, 01.03.2009 / 15:12.35,49 Uhr Ein

Mit dem Befehl
log gefolgt von der Enter-Taste kann man sich den Inhalt der Log-Datei auf dem Bildschirm
anzeigen lassen. Wobei der letzte Eintrag immer am Ende der Liste steht.

Mit dem Befehl
a gefolgt von der Enter-Taste wird wiederrum ein Eintag in die Log-datei wie folgt eingetragen.

Beispieleintrag:
Sonntag, 01.03.2009 / 15:57.35,14 Uhr Aus

Anschließend wird ATXOFF.COM gestartet, das den Computer ausschaltet.
-----------------------------------------------------

Schritt eins (Das Listing erstellen)
Öffnen Sie den DOS-Editor, und tippen Sie das Listing ab.
Achten Sie darauf, eine Leerzeile vor RCX einzufügen.

Code: Alles auswählen

A
MOV AH,2A
INT 21
MOV DI,17C
INC DI
CMP By[DI-1],24
JNZ 107
SUB AL,1
JNB 107
MOV SI,15F
MOV AL,DL
CALL 153
MOV AL,DH
CALL 153
SUB CX,76C
MOV AL,CL
ADD SI,2
CALL 153
MOV AH,2C
INT 21
MOV AL,CH
ADD SI,2
CALL 153
MOV AL,CL
CALL 153
MOV AL,DH
CALL 153
MOV AL,DL
CALL 153
MOV DX,DI
CALL 14E
MOV DX,15D
MOV AH,9
INT 21
RET
AAM
XCHG AL,AH
ADD [SI],AX
ADD SI,3
RET
DB ", 00.00.20&0 / "
DB "00:00.00,00 Uhr$"
DB "$Sonntag$Montag$"
DB "Dienstag$Mittwoch$"
DB "Donnerstag$"
DB "Freitag$Samstag$"

RCX
B9
NTIMEDATE.COM
W
Q
-----------------------------------------------------


Schritt zwei (Listing in COM-Datei umwandeln)

Speichern Sie das Listing als TIMEDATE.DEB ab, und geben Sie folgenden Befehl ein:

debug <timedate.deb

Das DOS-Programm Debug hat aus Ihrem Listing nun die Datei TIMEDATE.COM erzeugt.
Wenn Sie nun nur TIMEDATE am DOS-Prompt eingeben, dann müßten Sie eine ähnliche Anzeige
wie folgt angezeigt bekommen.

Sonntag, 01.03.2009 / 15:38.15,38 Uhr

Kopieren Sie die Datei TIMEDATE.COM in ein Verzeichnis das im Pfadverzeichnis der Autoexec.bat
steht (bei mir ist das c:\dostools\batch)
-----------------------------------------------------


Schritt drei (Autoexec.bat modifizieren)

Tragen Sie am Ende der Autoexec.bat folgende drei Zeilen ein.
Achten Sie darauf, daß nach dem echo-Befehl vor dem Wort "Ein" zwei Leerzeichen kommen.

Code: Alles auswählen

:: Logbucheintrag
timedate >>c:\temp\logbuch.txt
echo  Ein >>c:\temp\logbuch.txt
-----------------------------------------------------


Schritt vier (Log.bat) erstellen
Öffnen Sie wieder den Editor, und tragen Sie folgende zwei Zeilen ein:

Code: Alles auswählen

@echo off
type c:\temp\logbuch.txt
Speichern Sie diese Datei als Log.bat auch am besten in das Verzeichnis c:\dostools\batch
-----------------------------------------------------


Schritt fünf (a.bat erstellen)
Öffnen Sie erneut den Editor, und tragen Sie folgende fünf Zeilen ein:

Code: Alles auswählen

@echo off
:: Logbucheintrag
timedate >>c:\temp\logbuch.txt
echo  Aus >>c:\temp\logbuch.txt
c:\dostools\batch\atxoff.com
Speichern Sie diese Datei als A.bat auch am besten in das Verzeichnis c:\dostools\batch
-----------------------------------------------------


Schritt sechs
Holen Sie sich ATXOFF.COM aus dem Internet, und kopieren Sie es auch am besten in das
Verzeichnis c:\dostools\batch
-----------------------------------------------------

Anmerkung:
Thomas Jannot hat auf einer Seite eine Lösung angegeben, wie der letzte Eintrag immer zu
oberst in der Datei Logbuch.txt steht, das halte ich persönlich nicht für sehr sinnvoll, da
dieser Eintrag sehr schnell aus dem sichtbaren Bereiches des Bildschirms rausläuft, wenn die
Liste immer länger wird. In diesem Fall wäre man immer gezwungen die Datei mit einem Editor
aufzurufen, um die letzten Einträge sehen zu können.
Mit meiner Lösung reicht ein entsprechender TYPE-Befehl, um die letzten 25 Einträge des
Logbuches sehen zu können.
Weiterhin habe ich einen Bug aus "Thomas" Listing entfernt, der erst durch die Jahrhunderwende
aufgetreten ist.
-----------------------------------------------------

Internetseiten:

seite des Listings "TIMEDATE.DEB"
http://www.jannot.de/wiki/Einfaches_Log ... C3%BCr_DOS
Hauptseite aller Listings von Thomas Jannot
http://www.jannot.de/wiki/Special:Allpages
Downloadseite von ATXCOFF.COM
(Manche Virenscanner behaupten es wäre ein Virus, was aber nicht stimmt)
http://www.gknw.de/atxoff.html

Viel Spaß

Gruß Frank

Verfasst: Mo 2. Mär 2009, 01:24
von tikbalang