Zwar bietet DOS einen Befehl zum Vergleichen zweier Dateien, doch läßt sich das Ergebnis – besonders in Stapeljobs – nur schwer auswerten. COMPARE.DEB liest zwei beliebig lange Dateien blockweise ein und vergleicht sie miteinander. Das Ergebnis landet im Errorlevel. Mithilfe von COMPARE können Sie nun z.B. automatisch nach Beendigung einer Datenbank-Anwendung eine Sicherheitskopie der geänderten Dateien auf Diskette erzeugen. Die folgende Stapeldatei kopiert die wichtigen Dateien zunächst unter einen anderen Namen, um später einen Bezugspunkt für den Vergleich zu haben. Ändert sich eine der Dateien, so fordert der Batch Sie zum Einlegen der Sicherungsdiskette auf und ergänzt dort die bearbeiteten Dateien:
@ECHO OFF COPY TELEFON.DBF $TELEFON.DBF >NUL COPY TELEFON.NDX $TELEFON.NDX >NUL ECHO Eine beliebige Anwendung ... ECHO z.B. dBase COMPARE TELEFON.DBF $TELEFON.DBF IF ERRORLEVEL 1 GOTO SICHERN COMPARE TELEFON.NDX $TELEFON.NDX IF NOT ERRORLEVEL 1 GOTO ENDE :SICHERN ECHO Dateien wurden geändert. ECHO Bitte Sicherungsdiskette in Laufwerk ECHO A: einlegen ... PAUSE COPY TELEFON.DBF A: COPY TELEFON.NDX A: :ENDE DEL $TELEFON.DBF >NUL DEL $TELEFON.NDX >NUL
Name: | COMPARE.DEB |
Funktion: | Vergleicht zwei Dateien auf Übereinstimmung. |
Übersetzung: | DEBUG <COMPARE.DEB |
Prüfsumme: | 4A8D |
Anwendung: | COMPARE DATEI.1 DATEI.2IF ERRORLEVEL # # = 0: Dateien sind identisch
# = 255: Datei(en) nicht gefunden oder nicht identisch |
Einschränkungen: | ./. |
A CLD ;100 MOV DI,82 ;101 MOV DX,DI ;104 MOV CX,80 ;106 MOV AL,20 ;109 REPNZ SCASB ;10B MOV By[DI-1],0 ;10D MOV AX,3D00 ;111 CALL 155 ;114 MOV BP,AX ;117 MOV DX,DI ;119 MOV AL,D ;11B REPNZ SCASB ;11D MOV By[DI-1],0 ;11F MOV AX,3D00 ;123 CALL 155 ;126 MOV BX,AX ;129 MOV DX,15A ;12B MOV SI,DX ;12E CALL 150 ;130 MOV DI,AX ;133 MOV DX,215A ;135 XCHG BP,BX ;138 CALL 150 ;13A CMP AX,DI ;13D JNZ 14B ;13F MOV CX,AX ;141 JCXZ 155 ;143 MOV DI,DX ;145 REPZ CMPSB ;147 JZ 12B ;149 MOV AX,4CFF ;14B INT 21 ;14E MOV CX,2000 ;150 MOV AH,3F ;153 INT 21 ;155 JB 14B ;157 RET ;159 RCX 5A NCOMPARE.COM W Q
Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot
Dies ist eine von Unterstützern finanzierte Veröffentlichung. Um neue Beiträge zu erhalten und meine Arbeit zu fördern, werden Sie Abonnent: