Viele per »PATH«-Befehl von (fast) überall direkt zugängliche Stapeljobs, die eine beliebige Anwendung aufrufen, landen häufig mit der Fehlermeldung »Ungültiges Verzeichnis!« in einer Endlosschleife, weil Sie sich zur Zeit des Aufrufs gerade auf einem anderen Laufwerk befinden. Abhilfe schafft es zwar, zu Beginn der Stapeldatei das aktuelle Laufwerk zu ändern, aber nicht immer ist dies auch erwünscht. GETDRIVE.DEB übergibt daher den Code des aktuellen Laufwerks im Errorlevel. Von ihm können Sie die weitere Ausführung aller Batch-Dateien abhängig machen. Dadurch können Sie Stapeldateien schreiben, die nur von einem bestimmten Laufwerk aus gestartet werden können. Die folgende Stapeldatei GETDEMO.BAT demonstriert Ihnen die Anwendung. Wird GETDEMO.BAT von einem anderen als dem Laufwerk C: aus aufgerufen, gibt sie eine kurze Meldung auf den Bildschirm aus.
@ECHO OFF GETDISK IF ERRORLEVEL 3 GOTO FEHLER IF NOT ERRORLEVEL 2 GOTO FEHLER ECHO Hier kann eine beliebige Anwendung folgen ... GOTO ENDE :FEHLER ECHO Vor dem Aufruf der Anwendung mit "C:" ECHO auf das Laufwerk C: überwechseln! :ENDE
Den gleichen Effekt wie mit GETDRIVE.DEB können Sie übrigens auch erreichen, indem Sie PCOMP.DEB verwenden. Nach der Zeile »CD | PCOMP C:« gibt der Errorlevel Aufschluß darüber, ob C: als aktuelles Laufwerk gesetzt ist.
Name: | GETDRIVE.DEB |
Funktion: | Ermittelt den Code des aktuellen Laufwerks. |
Übersetzung: | DEBUG <GETDRIVE.DEB |
Prüfsumme: | 0FC0 |
Anwendung: | GETDRIVEIF ERRORLEVEL ## = 0 (A), 1 (B), 2 (C) usw. |
Einschränkungen: | ./. |
A MOV AH,19 ;100 INT 21 ;102 MOV AH,4C ;104 INT 21 ;106 RCX 8 NGETDRIVE.COM W Q
Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot