Eine etwas schönere Alternative zu »ECHO.|DATE« stellt DATUM.DEB dar. Das Programm ermittelt per DOS-Funktion 2Ah das aktuelle Systemdatum, formt die erhaltenen Werte in ein dezimales Format um und zeigt das Ergebnis auf dem Bildschirm an. Der Name des entsprechenden Wochentags wird über eine Tabelle ermittelt. Sie haben jetzt z. B. die Möglichkeit, den letzten Tag, an dem Sie ein bestimmtes Programm verwendet haben, festzuhalten. Ein aufrufender Stapeljob könnte so aussehen:
@ECHO OFF IF NOT EXIST \TMP\%0.SYS GOTO SKIP ECHO Letzer Programmstart: TYPE \TMP\%0.sys :SKIP DATUM >\TMP\%0.sys REM Hier den Aufruf eines beliebigen Programms einfügen...
Der Parameter %0 enthält den Namen des Stapeljobs selbst. Die Verwendung dieses Parameters verringert automatisch die Verwechslungsgefahr mit eventuell anderen Stapeljobs, die ebenfalls den letzten Aufruf in einer temporären SYS-Datei festhalten. Allerdings dürfen Sie dann die Batchdatei nie mit Laufwerksbuchstaben, Pfadangabe und Erweiterung aufrufen. Die obige Stapeldatei benötigen Sie natürlich einmal für jedes zu überwachende Programm. Sie sollten daher den Text » %0 « der Stapeldatei besser durch den wirklichen Programmnamen ersetzen. Der Ordnung halber sollten Sie sich auch das Directory »\TMP« anlegen, damit temporäre Dateien genau wie im Beispiel-Programm dort gesammelt werden können.
Name: | DATUM.DEB |
Funktion: | Zeigt das aktuelle Systemdatum an. |
Übersetzung: | DEBUG <DATUM.DEB |
Prüfsumme: | 351C |
Anwendung: | DATUM |
Einschränkungen: | ./. |
A MOV AH,2A ;100 INT 21 ;102 MOV DI,149 ;104 INC DI ;107 CMP By[DI-1],24 ;108 JNZ 107 ;10C DEC AL ;10E JNS 107 ;110 MOV SI,141 ;112 MOV AL,DL ;115 CALL 135 ;117 MOV AL,DH ;11A CALL 135 ;11C SUB CX,76C ;11F MOV AL,CL ;123 CALL 135 ;125 MOV DX,DI ;128 CALL 130 ;12A MOV DX,13F ;12D MOV AH,9 ;130 INT 21 ;132 RET ;134 AAM ;135 XCHG AL,AH ;137 ADD [SI],AX ;139 ADD SI,3 ;13B RET ;13E DB ", 00.00.00$" DB "Sonntag$Montag$" DB "Dienstag$Mittwoch$" DB "Donnerstag$" DB "Freitag$Samstag$" RCX 86 NDATUM.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 einen Fehler gefunden und korrigiert: In der Zeile 29 muss es anstelle von DB “, 00.00.00$”
korrekt DB “, 00.00.&0$”
heißen.