Manchmal ist es wünschenswert, feststellen zu können, ob es sich bei einem Datenträger um eine auswechselbare Diskette oder um eine nicht entnehmbare Festplatte handelt. CHGABLE.DEB ermittelt das geforderte Ergebnis über eine »IOCTL«-Funktion, die die Anfrage direkt an den zuständige Einheitentreiber weiterleitet. Diese Funktion wird erst ab der DOS-Version 3.0 unterstützt und muß nicht bei allen Devices vorhanden sein. Existiert die Funktion nicht, was aber eher die Ausnahme ist, geht CHGABLE vorsichtshalber davon aus, daß der Datenträger nicht wechselbar ist. Die Stapeldatei CHGDEMO.BAT demonstriert Ihnen die Anwendung von CHGABLE. Ist das als Parameter angegebene Laufwerk wechselbar, so zeigt das Programm eine entsprechende Meldung an. Dabei verwendet CHGDEMO eine etwas ungewöhnliche Methode, um den verschiedenen Fälle des Errorlevels zu begegnen.
@ECHO OFF CHGABLE %1 SET TEXT=ist wechselbar IF ERRORLEVEL 1 SET TEXT=ist nicht wechselbar IF ERRORLEVEL 15 SET TEXT=existiert nicht ECHO Medium %TEXT% SET TEXT=
Name: | CHGABLE.DEB |
Funktion: | Überprüft, ob das Laufwerk eine wechselbare Platte enthält. |
Übersetzung: | DEBUG <CHGABLE.DEB |
Prüfsumme: | 24A4 |
Anwendung: | CHGABLE [Lw:]IF ERRORLEVEL … ERRORLEVEL 15 = unbekanntes Laufwerk ERRORLEVEL 1 = Platte ist nicht wechselbar
ERRORLEVEL 0 = Platte ist wechselbar |
Einschränkungen: | Funktioniert erst ab DOS 3.0. |
A MOV BL,[5C] ;100 MOV AX,4408 ;104 INT 21 ;107 MOV AH,4C ;109 INT 21 ;10B RCX D NCHGABLE.COM W Q
Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot