---------------------------------------------------------------------------
Z U S A M M E N F A S S U N G
der dokumentierten und undokumentierten Fähigkeiten
von
Novell DOS 7
NWDOS7UN.TXT: Copyright (C) 04/1994-06/1997 bei Matthias Paul
Die Hilfstexte des Kommandoprozessors (Kapitel 6) sind weitestgehend
der COMMAND.COM internen Hilfe entnommen und wurden aus Gründen der
Vollständigkeit hier aufgenommen, allerdings korrigiert und um undoku-
mentierte Eigenschaften ergänzt, daher zum Teil:
Copyright (C) 1993 bei Novell Inc.
EMail : <Matthias.Paul@post.rwth-aachen.de>
Letzte Änderung: 1997年06月07日 Revision 85
Die in diesem Dokument wiedergegebenen Fakten und Ansichten basieren
auf unabhängigen eigenen oder übermittelten Erfahrungen mit dem Betriebs-
system und stellen kein offizielles Dokument der Hersteller dar.
Die Anwendung der Informationen geschieht daher auf eigene Gefahr, ich
übernehme keinerlei Garantie für die Richtigkeit der Daten. Jegliche
Haftung für Schäden etc. beliebiger Art ist ausgeschlossen.
Verwendete Warenzeichen etc. sind Eigentum der jeweiligen Eigentümer.
Die kostenfreie Weitergabe dieser Datei ist ausdrücklich erlaubt. Die
Veröffentlichung dieser Hinweise in anderen Listen etc. erfordert meine
vorherige Zustimmung. Für Hinweise auf Fehler bin ich jederzeit dankbar.
Bitte beachten Sie README.1ST für weitere Bestimmungen.
---------------------------------------------------------------------------
1. Inhalt:
==========
0. Titel
1. Inhalt
2. Überblick
3. Unterschiede gegenüber DR DOS 6.0 / Tips und Tricks
i. Vergleich von TASKMRG mit TASKMAX
ii. VIEWMAX
- Verwendung von VIEWMAX unter Novell DOS
- Ausführen von GEM-Applikationen unter VIEWMAX
- Konfigurierung für SuperVGA-Bildschirmauflösungen
iii. Umstieg von PC-Kwik auf NWCACHE
iv. Umstieg von SuperStor auf STACKER
v. Übersicht über undokumentierte Befehle
vi. DELWATCH/PASSWORD
vii. Codeseitenunterstützung
viii. <F5>/<F8>-Trace-Modus beim Booten
ix. CD-ROM-Unterstützung
x. Power-Management
xi. Überlange Pfade
xii. Updates und Weiterentwicklungen
xiii. Diverses
4. Direktiven in CONFIG.SYS
5. Interne Kommandos von COMMAND.COM
6. Hilfe zu internen Kommandos von COMMAND.COM
7. Hinweise für Novell DOS Fans für weitere Untersuchungen
i. Spezielle Dateien
ii. Tips für nach versteckten Eigenschaften Suchende
iii. Patches für COMMAND.COM
iv. Offene Fragen
---------------------------------------------------------------------------
2. Überblick:
=============
Novell DOS 7 von Novell ist der Nachfolger des bekannten DOS-Alternativ-
Betriebssystems DR DOS 6.0 von Digital Research (dann Novell); selbst
mittlerweile abgelöst von Caldera OpenDOS.
Der Inhalt dieser Datei befaßt sich ausschließlich mit den internen
(d.h. residenten) Kommandos von Novell DOS (also interne Befehle sowie
spezielle Kommandos für CONFIG.SYS und Batchjobs) sowie einigen Tips und
Tricks.
Für weitergehende Hinweise sei auf das Dokument NWDOSTIP.TXT verwiesen!
Da das Betriebssystem auf den Grundlagen früherer DOS-Versionen aufge-
baut ist, hat es nach außen eine praktisch identische Funktionalität
gegenüber dem Konkurrent MS-DOS 6.2x. Darüberhinaus bietet es aber eine
große Vielzahl von Erweiterungen und viele Verbesserungen im Detail, die
den Komfort und die Möglichkeiten von DOS steigern:
- Integrierte Novell Personal NetWare Netzwerk-Software
(als Nachfolger von NetWare Lite).
- Preemptives Multitasking/Prozeßumschaltung unter DOS mittels TASKMGR
(als Nachfolger von TASKMAX bei DR DOS 6.0)
- Verbesserte Speicherausnutzung für DOS und Anwendungsprogramme:
EMS, VCPI, DPMI und das neue Novell DPMS (DOS Protected Mode Services)
werden unterstützt.
- Hochentwickelter und sicherer Plattencache NWCACHE
- Tief ins Betriebssystem integrierter Online-Festplattenkompressor
STACKER (im Gegensatz zum bei Auslieferung von Novell DOS 7 nicht mehr
ausgelieferten DBLSPACE bei MS-DOS 6.21 (um 04/1994); bei MS-DOS 6.22
liegt allerdings als Ersatz DRVSPACE bei).
- Komfortables SETUP-Programm
- Übergreifende Hilfefunktionen mit HyperText
- Viele Verbesserungen im Detail und eine Reihe neuer Kommandos (insb.
gegenüber MS-DOS 6.2x) wie RENDIR, TOUCH, XDIR, DELPURGE, DELWATCH,
DISKMAP, FBX, FBXW, MEMMAX, CURSOR, LOCK, NWCDEX, PASSWORD, SCRIPT,
SERNO usw.
- Fortgeführter Support für eine Reihe älterer externer DOS-Kommandos,
die bei der Konkurrenz MS-DOS 6.0/6.2x weggefallen sind (beziehungs-
weise nur noch als Zusatz erhältlich sind), wie z.B. Codeseitenunter-
stützung für Drucker PRINTER.SYS sowie JOIN, ASSIGN, COMP, GRAFTABL,
EXE2BIN, BACKUP, RESTORE.
- Günstiger Preis: ca. DM 15,- (!!!) bis DM 80,-
---------------------------------------------------------------------------
3. Unterschiede gegenüber DR DOS 6.0 / Tips und Tricks: [97-03-22]
==================================================================
Als Nachfolger dieses Betriebssystems besteht weitestgehend Kompatibi-
lität. Allerdings sind auch einige wenige Möglichkeiten weggefallen
oder haben sich in der Handhabung geändert:
(Eine Vielzahl weiterer Tips zu Novell DOS und PNW befinden sich in der
Datei NWDOSTIP.TXT.)
i. Vergleich von TASKMGR mit TASKMAX:
-------------------------------------
Der Prozeßumschalter TASKMAX ist durch TASKMGR ersetzt worden, der
neben der Betriebsart Prozeßumschalter auch einen echten Multitasking-
Modus kennt, der allerdings recht viel Zusatzspeicher pro ausgeführten
Prozeß benötigt, so daß sich wesentlich weniger Tasks als mit dem
Prozeßumschalter gleichzeitig starten lassen (4 MByte ca. 3 Prozesse,
8 MByte ca. 7 Prozesse, also ähnlich wie unter MS Windows 3.1). Für
DOS bleibt jedoch allemal genügend Speicher übrig, der Kernel des
Multitaskers zwackt dem DOS gerademal 6 KByte Speicher ab. Der TASKMGR
kennt (auch im Prozeßumschaltmodus) leider nicht mehr die Daten-
Import/Export-Funktionen des alten TASKMAX (<F5>/<F7>), d.h. die
Übernahme von Daten aus anderen Tasks läßt sich nur indirekt über
Dateien auf der Platte abwickeln. Zwangsläufig waren die direkten
Import-Export-Funktionen recht spartanisch (z.B. über simulierte
Tastatureingaben in anderen Task), aber trotzdem wird der eine oder
andere dieses Feature vermissen. Der alte TASKMAX läßt sich übrigens
nicht unter Novell DOS starten - auch nicht mit SETVER. Und TASKMGR
lädt ebenfalls nicht unter DR DOS 6.0. Das dürfte angesichts der
internen Änderungen auch berechtigt sein.
ii. VIEWMAX:
------------
Verwendung von VIEWMAX unter Novell DOS:
Die VIEWMAX-Software wird nicht mehr (wie noch bei DR DOS 6.0) mit-
geliefert, d.h. es existiert nun keine graphische DOS-Shell mehr
(übrigens auch nicht mehr bei der Konkurrenz MS-DOS 6.2), dafür gibt's
aber von Fremdfirmen genügend Ersatz: angefangen von MS Windows,
IBM OS/2, Geoworks Ensemble, Quarterdesk DESQview(/X) bis hin zu
reinen DOS-Oberflächen wie Norton Commander und CP-Tools. In der
Gerüchteküche hielt sich auch längere Zeit die Meldung, daß Novell
selbst auch eine graphische Oberfläche als Windows-Konkurrent heraus-
bringen wollte, mittlerweile (ab 10/1994) ist aber die Weiter-
entwicklung von Novell DOS im Zuge von Produktstraffungen eingestellt
worden (Bugfixes/Updates für Novell DOS und PNW waren davon allerdings
bis Anfang 1996 noch nicht betroffen). Caldera, die in 07/1996 die
Rechte an DR DOS etc. von Novell übernommen haben, reden allerdings
wieder von einem GUI (OpenView), so daß vielleicht doch etwas an diesen
Gerüchten wahr ist. Der TASKMGR von Novell DOS 7 verhält sich jedenfalls
in einigen Punkten sehr Windows-konform (Start/Exit-Broadcasts; Nach-
bildung des Installations-Check-APIs; Laden virtueller Gerätetreiber,
sogar WIN32S.386 funktioniert).
Mit dem Wegfall von VIEWMAX ist leider die naheliegendste Möglichkeit
weggefallen, Programme für die alte Digital Research Oberfläche GEM
(ursprünglich von Atari-Computern her bekannt) unter DOS auszuführen;
diese konnten nämlich innerhalb der auf GEM basierenden Oberfläche
VIEWMAX gestartet werden (natürlich nicht die Atari-Programme, die
68000-Maschinencode verwenden, aber Hochsprachen-Quellcode (meist C)
sollte sich recht leicht portieren lassen).
VIEWMAX ist aber nicht an DR DOS 6.0 gebunden, es läuft auch einwand-
frei mit Novell DOS oder MS-DOS, allerdings führte die Steuerung des
neuen Taskmanagers durch VIEWMAX im Multitasking-Modus des öfteren zu
Abstürzen (die sich evtl. doch noch umgehen lassen - das Verhalten hat
sich mit den Novell DOS 7 Updates 9 und 12 stark stabilisiert: Wenn
man alle Tasks mit dem herkömmlichen TASKMGR-Menü öffnet und schließt,
in einem Task VIEWMAX lädt und dort nur temporär die TASKMAX/TASKMGR-
Steuerung aktiviert, um zwischen den Prozessen hin und her zu schalten,
arbeitet TASKMGR zumindest bis zum Beenden stabil, sogar unter 4DOS).
Der Prozeßumschaltmodus wird in jedem Fall von VIEWMAX sauber unter-
stützt, auch wenn man VIEWMAX höhere GEM-Grafikauflösungen unterschiebt
(wie weiter unten beschrieben). Mit Update 15 kann man ziemlich stabile
Konfigurationen von VIEWMAX, TASKMGR (und evtl. 4DOS) erreichen.
Solange man VIEWMAX nicht anweist, den TASKMAX/TASKMGR zu steuern, ist
die Kommunikation sowieso völlig problemlos (aber damit auch nicht so
interessant).
Damit VIEWMAX seine Konfigurationsdatei VIEWMAX.INI findet, legt man
diese am besten in das \NWDOS\INI\ Verzeichnis und setzt zusätzlich
die ehemalige Umgebungsvariable %DRDOSCFG% auf den Wert von
%NWDOSCFG% (z.B. in AUTOEXEC.BAT nach dem Eintrag für %NWDOSCFG% mit
SET DRDOSCFG=%NWDOSCFG%). Unter Umständen erzeugt VIEWMAX dort auch
eine Datei TASKMAX.INI, die aber vom neuen TASKMGR ignoriert wird.
Will man zwischen TASKMAX.INI und TASKMGR.INI Konsistenz erzeugen,
so muß man VIEWMAX über einen Batchjob aufrufen, der vorher TASKMGR.INI
in TASKMAX.INI umkopiert und nachher TASKMAX.INI in TASKMGR.INI
zurückkopiert. Vorher muß man noch manuell den Eintrag aus TASKMAX.INI
in TASKMGR.INI aufnehmen.
Ausführen von GEM-Applikationen unter VIEWMAX:
Zu VIEWMAX noch ein paar weitere Hinweise: VIEWMAX ähnelt dem GEM
3.0 Desktop dermaßen, daß man es sofort als eine 'Weiterentwicklung'
bzw. Modifikation dieser graphischen Oberfläche erkennt. VIEWMAX
kann problemlos GEM-Anwendungen ausführen.
Konfigurierung für SuperVGA-Bildschirmauflösungen:
Eigene Versuche haben ergeben, daß es sogar eine undokumentierte
Möglichkeit gibt, VIEWMAX in höheren Bildschirmauflösungen als
Standard-VGA zu betreiben: Dazu benötigt man lediglich die
passenden GEM 3.0 oder 3.1 SuperVGA-Treiber (etwa SD800.SYS/.VGA
oder SD1024.SYS/.VGA, die auf den üblichen Treiberdisketten zu
Ihrer Grafikkarte zu finden sein sollten. Bei neueren Karten (ab
ca. 1994) könnte es allerdings sein, daß GEM-Treiber nicht mehr
mitgeliefert werden, da diese Multitasking-Oberfläche schließlich
auch den Weg in die 'ewigen Jagdgründe' gefunden hat). Die Instal-
lation ist denkbar einfach: Die Datei UDUNI9.VGA, die zu VIEWMAX
gehört, ersetzt man durch den GEM 3.1. Treiber SDxxxx.VGA, außerdem
kopiert man den Treiber SDxxxx.SYS ins gleiche Verzeichnis. Beim
nächsten Start von VIEWMAX wird die Oberfläche in der hohen Auf-
lösung aufgebaut. Da VIEWMAX auch die DOS-Prozeßumschaltung unter-
stützt, bekommen Anwender eine recht angenehme Arbeitsumgebung ge-
liefert. Wirklich: Wenn es denn schon eine graphische Oberfläche
sein muß und Sie noch keinen 486er (oder besser) Ihr Eigen nennen,
würde ich die Möglichkeiten von VIEWMAX in jedem Fall denen eines
Windows-Dateimanagers vorziehen, besonders wenn Sie noch einige der
klassischen GEM-Anwendungen 'auf Lager' haben. Die Bedienung ist
sehr viel einfacher. In anderen Belangen kann Windows natürlich mehr...
Noch besser ist es jedoch, statt den Originaltreiber zu überschreiben,
die zusätzlichen Treiber einfach ins VIEWMAX-Verzeichnis zu kopieren
und eine Ergänzung in der Datei VIEWMAX.INI vorzunehmen:
In der Sektion [Drivers] erhöht man die Anzahl der MaxDrv= um die
Anzahl der zusätzlichen Treiber, dann ergänzt man die Tabelle um
DriverX= entsprechend um die neuen Auflösungen und Treiber (z.B.
auf SD800.VGA verweisen) und setzt CurrentDrv= auf die gewünschte
Auflösung (X entspricht der jeweiligen Nummer. Achtung: Groß- und
Kleinschreibung muß angeblich beachtet werden, meine Ausgabe von
VIEWMAX kommt aber auch mit durchgängiger Großschrift zurecht).
Danach startet VIEWMAX in der gewünschten Auflösung. Weitere Hinweise
finden sich in DRDOS6UN.TXT (auch im Hinblick auf Möglichkeiten, mit
Bugs in den Bildschirmtreibern zu leben).
Summa summarum für alle 'Windows-Verächter': Nach einigen Basteleien
und unter Beachtung einiger Verhaltensregeln kann man sich - wenn man
so will - selbst eine graphische Multitasking-Oberfläche für Novell DOS
bauen, nicht mit den Möglichkeiten von MS Windows, dafür aber sehr viel
schneller und trotz gewisser Beschränkungen recht leistungsfähig (für
den Privatgebrauch). Z.B. ist es schon erstaunlich, wie winzig sich
GEM-Klassiker wie GRAPH PLUS, DRAW oder WORDCHART (unter 100 - 200
KByte!!!) oder auch Fremdprodukte wie VENTURA PUBLISHER neben
MegaByte-großen Windows-Boliden ausmachen und welchen Funktionsumfang
sie dennoch bieten.
Bleibt zu hoffen...
Übrigens: Auch die DOSSHELL von MS-DOS 6.0 funktioniert unter
Novell DOS 7.
iii. Umstieg von PC-Kwik auf NWCACHE:
-------------------------------------
Der PC-KWIK-Platten-Cache (PCKWIK.SYS) wurde ersetzt durch NWCACHE.
PC-KWIK arbeitet prinzipiell auch mit Novell DOS, trotzdem ist er nicht
mehr zu empfehlen, weil NWCACHE moderner ist und mehr Möglichkeiten
bietet, z.B. die Nutzung des Erweiterungsspeichers via DPMS.
iv. Umstieg von SuperStor auf STACKER:
--------------------------------------
Der SUPERSTOR-Online-Plattenkompressor (SSTORDRV) wurde ersetzt durch
STACKER.
SUPERSTOR arbeitet prinzipiell auch mit Novell DOS, es liegen aber
Konverter von DBLSPACE und SUPERSTOR nach STACKER bei.
Da Microsoft sein DBLSPACE (von MS-DOS 6.0/6.20) aufgrund von
Copyright-Verletzungen bei MS-DOS 6.21 nicht mehr ausliefern durfte
(bei MS-DOS 6.22 wird der annähernd identische Ersatz DRVSPAVE mit-
geliefert), ist der Umstieg auf STACKER sowieso zu empfehlen.
STACKER ist auch noch etwas tiefer ins System eingebettet (zumindest
bezüglich der damaligen DBLSPACE/DRVSPACE Version), kann DPMS nutzen
und bietet damit eine größere Sicherheit und Kompatibilität mit
Programmen (vgl. c't-Artikel 1994). Auch zu IBMs OS/2 und zu PC-DOS 7
wird eine ähnliche Stacker-Version mitgeliefert. Allerdings ist
Novell DOS in der ursprünglich ausgelieferten Version nicht vollständig
mit dem externen Stacker 4.0 kompatibel (Novell DOS liegt eine angepaßte
Stacker 3.12 Version bei). Insbesondere das SETUP-Programm und CHKDSK
führten hier zu Problemen, daher ist in solchen Fällen dringend eines
der aktuellen Updates notwendig.
v. Übersicht über undokumentierte Befehle:
------------------------------------------
Die bislang undokumentierten und i. allg. gesperrten Befehle ECHOERR,
PAUSEERR und DBG von DR DOS 6.0 existieren nicht mehr, sind aber
in CCI Multiuser DOS 7.22 Gold immer noch enthalten (Hinweise dazu
in DRDOS6UN.TXT, bezüglich anderer undokumentierter Befehle früherer
DR DOS Versionen auch DRDOSTIP.TXT).
Das IF-Statement wurde erheblich erweitert, u.a. wurden die bislang
undokumentierten Funktionen
IF DIREXIST dir (immer noch nicht in der /? Hilfe dokumentiert)
und
IF bed OR bed
nun dokumentiert und eine Vielzahl weitere Möglichkeiten hinzugefügt.
Leider fehlen die Bedingungen EQ, NE, GT, LE, GE, die Multiuser DOS 7
als auch 4DOS/NDOS anbieten bei Novell DOS 7.
Das interne Kommando IDLE (ab DR DOS 5.0 vorhanden), die dynamische
Wartezeiterkennung, und das zugehörige Gerät $IDLE$ funktionieren nun
(mit TASKMGR), sind aber weiterhin undokumentiert. Wenn der Multitasker
geladen wird, wird IDLE automatisch auf ON gesetzt (Eintrag IDLE=on in
TASKMGR.INI), kann aber manuell auf OFF geschaltet werden (s.u.).
Die CONFIG.SYS-Kommandos ONERROR= und GETKEY= sind weiterhin
undokumentiert (s.u.), ihre Funktionen sind ausführlich in
NWDOSTIP.TXT beschrieben.
Es sind die neuen undokumentierten CONFIG.SYS-Einträge YESCHAR=
und DEBLOCK= hinzugekommen (s.u.), ebenfalls in NWDOSTIP.TXT
dokumentiert.
Die Einträge NUMLOCK= und SWITCHES= und die spezielle Gruppen-
überschrift [COMMON] in CONFIG.SYS (mit MS-DOS 6.2 eingeführt bzw.
erweitert), werden auch von Novell DOS 7 akzeptiert, sind allerdings
undokumentiert (s.u.).
Weiterhin existent sind die alten DR DOS-Einträge HIBUFFERS= und
HIDOS=, die aber durch Erweiterungen von BUFFERS= (lädt nach
Möglichkeit automatisch hoch) und DOS (mit den gleichen Ein-
stellungen wie bei MS-DOS) überflüssig werden und daher ab sofort
undokumentiert sind.
Die Marken :DRDOSBEG und :DRDOSEND in AUTOEXEC.BAT (bei DR DOS für
die Eingrenzung des Analysebereich des Programms SETUP zuständig)
existieren offiziell nun nicht mehr. SETUP speichert die zugehörigen
Informationen wohl größtenteils in seiner SETUP.INI-Datei. Ver-
schiedenen Novell-Publikationen ist jedoch zu entnehmen, daß die
Marken :NWDOSBEG und :NWDOSEND innerhalb der AUTOEXEC.BAT jetzt
eine Bedeutung haben, notwendig sind sie aber definitiv nicht.
Die externen Kommandos BACKUP und RESTORE sind weiterhin vertreten,
allerdings nicht mehr im Handbuch und DOSBOOK dokumentiert. Hilfe
kann man mit /? anfordern. Als Neuerung liegt FastBackup-Express
FBX als Sicherungs-Software in DOS- und Windows-Versionen bei.
Außerdem sind eine große Anzahl Umgebungsvariablen und System-
informationskonstanten hinzugekommen (insbesondere im Hinblick
auf das integrierte Netzwerk), einige sind allerdings auch weg-
gefallen (%HomeDir%, %Beta%) (s.u.).
Ergänzende Hinweise finden sich teilweise in weiteren Verlauf
dieses Dokuments, aber auch in NWDOSTIP.TXT.
vi. DELWATCH/PASSWORD:
----------------------
Bei DELWATCH und PASSWORD gibt es geringe Inkompatibilitäten zu
DR DOS 6.0. Diesbezüglich sei auf NWDOSTIP.TXT verwiesen.
vii. Codeseitenunterstützung:
-----------------------------
Die bei MS-DOS undokumentierte Codeseite 853 wird auch bei Novell DOS
und DR DOS 6.0 unterstützt, die ebenfalls undokumentierte Codeseite 851
jedoch nicht. 853 ist bis auf wenige Zeichen eine Mischung aus 850, 852
und 857. Das zugehörige Land ist mir nicht bekannt, dürfte aber grob
geschätzt zum Mittleren Osten gehören.
Demgegenüber kennt MS-DOS 6.22 mit seiner im Vergleich zu MS-DOS 5.0
und 6.0 erweiterten Länderunterstützung nun eine Reihe weiterer Code-
seiten und Tastaturunterstützungen sowie einige neue Länderkennungen,
die Novell DOS 7 (zumindest in der europäischen und der US-Version)
noch fremd sind:
855 = Kyrillisch (I)
861 = Island
869 = Griechenland (I)
737 = Griechenland (II)
936 = VR-China (nur spezielle MS-DOS Versionen)
938 = Taiwan (nur spezielle MS-DOS Versionen)
Es ist aber möglich, sich die entsprechenden .CPI-Dateien von einer
MS-DOS Version auszuleihen (mehr dazu in NWDOSTIP.TXT).
viii. <F5>/<F8>-Trace-Modus beim Booten:
----------------------------------------
Dieses Boot-Feature für CONFIG.SYS (und AUTOEXEC.BAT) wird
ähnlich wie bei MS-DOS 6.2 unterstützt.
ix. CD-ROM-Unterstützung:
-------------------------
Das Einbinden eines CD-ROM-Laufwerks geschieht in zwei Stufen: In
der CONFIG.SYS wird mittels DEVICE[HIGH] ein Hardware-Gerätetreiber
(getarnt als Zeichentreiber) für das jeweilige Laufwerk geladen.
Der Name dieses Treibers kann i. allg. mit dem Parameter /M vorge-
geben werden, default-mäßig heißt das erste CD-ROM meist MSCD001.
In der AUTOEXEC.BAT wird dann ein TSR-Treiber geladen, der das
CD-File-System auf das DOS-Dateisystem abbildet (DOS-Umadressierer,
von der Funktion her ähnlich der Net-Shell NETX bei Novell-Netzen).
Microsoft liefert dafür i. allg. einen Treiber namens MSCDEX mit
MS-DOS mit. Dieser Treiber kann auch für Novell DOS verwendet
werden, allerdings gibt es eine erheblich bessere Alternative:
Bei Novell DOS liegt ein Treiber NWCDEX bei, der die gleiche Funktion
wie MSCDEX hat; er kann problemlos ausgetauscht werden, die Parameter
sind identisch.
Dieser Treiber kann jedoch auch Extended-Memory via DPMS nutzen und
braucht so selbst bei maximaler Pufferanzahl nur ca. 7 KByte im ersten
MegaByte. Dieser Rest läßt sich natürlich hochladen (wobei NWCDEX das
auch automatisch probiert - leider aber nur schafft, wenn noch sehr
viel Platz in dem UMBs ist). Wenn man NWCDEX verwenden möchte, sollte
man sich allerdings unbedingt die aktuelle Version 2.80+ besorgen
(ab Update 11).
x. Power-Management:
--------------------
Novell DOS bringt keinen eigenen Treiber für APMS (Advanced Power
Management Specification) mit; der Treiber POWER.EXE von MS-DOS
arbeitet jedoch auch problemlos mit Novell DOS zusammen.
Das System an sich ist aber sehr wohl für LapTops etc. geeignet
(seit DR PalmDOS), wie man dem BatteryMAX API entnehmen kann, das
Caldera mittlerweile veröffentlicht hat.
xi. Überlange Pfade:
--------------------
Novell DOS 7 besitzt eine CDS im Stil von MS-DOS. Daher gibt es
neuerdings eine Beschränkung in der Pfadlänge auf maximal 67 Zeichen
(bei DR DOS wurden die Pfade nur in Ausgaben vorne gekürzt, intern
waren prinzipiell beliebig lange Pfade möglich, wobei irgendwann die
internen Puffer nicht mehr mitgemacht hätten. Ich hatte jedenfalls
Pfade mit über 120 Zeichen auf meinem Rechner). Unter Novell DOS 7,
MS-DOS/PC-DOS etc. sind derartige Pfade nicht ansprechbar, daher
sollte man unter DR DOS booten und diese Pfade auf maximal 67 Zeichen
kürzen.
Die meisten Anwendungen hatten sowieso Probleme mit solchen Pfaden,
da auch ein Großteil der Bibliotheken von Hochsprachen-Compilern nur
Routinen bis zu 67 Zeichen Länge anbietet. Unter Zuhilfenahme von
SUBST-Laufwerken konnte man jedoch auch mit solchen Laufwerken
arbeiten.
xii. Updates und Weiterentwicklungen:
-------------------------------------
Leider hat Novell nach einem Managementwechsel in 10/1994 entschieden,
die Weiterentwicklung von Novell DOS im Zuge von Produktstraffungen
einzustellen, d.h. Novell DOS 7 wurde bis Anfang 1996 noch weiter
vertrieben und gepflegt. Mittlerweile ist es vielerorts für ca. DM 15,-
(!!!) (inkl. Personal NetWare 1.0) zu bekommen. Die Weiterentwicklung
wurde, wie Novell selbst datiert, offenbar schon 04/1994 eingestellt.
Die Grundlage für diese Entscheidung war nach der Aussage von Novell-
Insidern eine Regelung mit Microsoft (die durch Novell DOS 7 zumindest
im deutschen Raum ziemlich empfindlich getroffen wurden), sich im
Gegenzug aus dem Netzwerkgeschäft weitestgehend zurückzuziehen. Jeder
mag sich selbst seinen Teil dabei denken...
Ein schwacher Trost:
Im Prinzip wurde seit MS-DOS 5.0 immer nur hinter der jeweiligen
DR DOS/Novell DOS Version 'hinterher entwickelt' und um entsprechende
Features ergänzt, so daß Standards in bezug auf generelle DOS-Features
eigentlich eher durch Digital Research/Novell gesetzt wurden. Man denke
an das vergleichsweise freundliche Benutzer-Interface mit verschiedenen
Möglichkeiten für kompakte bis ausführliche HyperText-Hilfe; eigentlich
über das ganze System eingestreute pfiffige Ideen im Detail, etwa beim
Fehlermanagement, bei der Parameterauswahl, Dateilisten; das überhaupt
erste DOS-Hochladekonzept, sowie später DPMS und Multitasking usw.
Multitasking und Multiuser-DOS Varianten gab es bei Digital Research
übrigens schon sehr lange. Paradoxerweise sind DR DOS/Novell DOS und
seine älteren Ableger Concurrent DOS, DOS Plus, DR Multiuser DOS immer
'nur' Konkurrenz von MS-DOS geblieben.
Es sind (durch das mittlerweile bis auf Anschlag ausgereizte 'Konzept
DOS') aber unter anderem gerade durch diesen Wegfall der Konkurrenz
auch von anderer Seite keine großen Erweiterungen für DOS mehr zu
erwarten:
MS-DOS 7 wird aus MS Windows (Chicago alias Windows95) heraus gebootet
und PC-DOS 7 wurde mit Möglichkeiten (REXX) für IBMs OS/2 ausgestattet
und dürfte ab diesem Zeitpunkt von den verbliebenen DOS-Herstellern
wohl zur Kompatibilitäts-Box für alte Programme degradiert werden.
Dadurch wird natürlich auch die fehlende Weiterentwicklung von
Novell DOS relativiert, d.h. man wird im Endeffekt noch lange gut
damit auskommen, schließlich ist ein Betriebssystem in erster Linie
ja zum sicheren Benutzen und nicht zum Warten auf die nächste Version
gedacht ;-). Novell DOS erfüllt diesen Zweck - auch zwei Jahre nach
seiner Einführung und angesichts des kürzlich erschienenen MS-DOS 7
(alias Windows95) - mehr als gut (auch wenn gerade durch die neuen
Fähigkeiten dieses Systems noch manche gute Erweiterungsidee am
Horizont stünden). Updates sind nur dann wirklich *notwendig*, wenn
es mit zukünftigen Programmen/Oberflächen Kompatibilitätsprobleme
geben sollte.
Wie und wo Sie Updates für Novell DOS 7 erhalten können (und es wurden
eine Großzahl von Fixes und Detailverbesserungen vorgenommen), wird
in dem Dokument NWDOSTIP.TXT beschrieben.
In 07/1996 hat die durch die kommerzielle Vermarktung einer Linux-
Variante bekannte Caldera Inc. von Novell alle Rechte an DR DOS etc.
übernommen und haben die englische Version des Betriebssystem unter
dem neuen Namen Caldera OpenDOS 7.01 am 1997年02月03日 wieder heraus-
gegeben. Im Mai 1997 wurden die Quelltexte des Kernels veröffentlicht
worden, die Quelltexte der gesamten Digital Research Betriebssystem-
palette soll nach und nach folgen, um eine solide Basis für zukünftige
DOS-Entwicklungen zu schaffen. Weitere, mit zusätzlichen Funktionen
versehene Versionen von Caldera OpenDOS sollen folgen.
xiii. Diverses:
---------------
Neben allerhand Ergänzungen sind einige wenige Kommandozeilen-
optionen von DR DOS 6.0 und früher weggefallen oder haben sich
(aus Kompatibilität zu MS-DOS) geändert (etwa SHARE /X). Die
meisten dieser Änderungen sind allerdings schon mit DR DOS 6.0
vorgenommen worden, so daß wohl nur Umsteiger aus älteren Versionen
die Unterschiede überhaupt bemerken werden (etwa kennt das heute
bekannte CHKDSK abgesehen von den alten MS-DOS Optionen völlig
unterschiedliche Optionen als CHKDSK von DR DOS 3.41).
Auch auf API-Ebene wurden einige alte undokumentierte APIs
'über Bord geworfen' (etwa SHARE, HILOAD, Owner-IDs) und aus
Kompatibilitätsgründen neue APIs eingeführt.
---------------------------------------------------------------------------
4. Direktiven in CONFIG.SYS:
============================
Erlaubte Kommandos in CONFIG.SYS:
Eine große Anzahl dieser Kommandos sind zwar allgemein bekannt, aber
bei Novell DOS/DR DOS kann man viele sonst nur in Batchjobs gewohnte
Anweisungen auch in CONFIG.SYS verwenden, z.B. um flexible Bildschirm-
ausgaben zu programmieren oder um Boot-Menüs zu konstruieren. Viele
dieser Möglichkeiten waren bisher noch undokumentiert, sind jetzt aber
offengelegt worden.
Bezüglich der Einzelheiten (besonders bei den undokumentierten
Kommandos) sei auf NWDOSTIP.TXT verwiesen.
Attribute:
x = Bei Novell DOS vorhanden.
u = Undokumentiert.
d = Dokumentiert (in Handbuch, DOSBOOK und evtl. auch /? Hilfe).
- = Entfernt gegenüber Vorgängerversion(en).
+ = Neu hinzugekommen gegenüber Vorgängerversion(en).
e = Erweitert gegenüber Vorgängerversion(en).
m = Modifiziert gegenüber Vorgängerversion(en).
< = Funktionsumfang geringer als bei MS-DOS 6.2.
> = Funktionsumfang größer als bei MS-DOS 6.2.
! = Funktion existiert nur bei Novell DOS/DR DOS, nicht bei MS-DOS.
= = Funktionsumfang identisch MS-DOS 6.2, höchstens unterschiedliche
Bildschirmausgaben (verständlicherweise).
/ = Funktion vergleichbar mit MS-DOS 6.2, aber z.B. andere Syntax,
andere Vorgehensweise, anderes Konzept. Läßt sich aber mit den
Mitteln des anderen Systems nachbilden.
Tabelle:
Direktive: Attribute: Bemerkung:
(Novell DOS)
: x de = Wie REM, allerdings gleichzeitig auch für
Label verwendbar (an DR DOS 5.0+).
; x d + = Vgl. REM (ab DR DOS 6.0+)
? ["text"] x d !/ Zeilenweises Ausführen mit Frage in
?= x u + = CONFIG.SYS und AUTOEXEC.BAT, vgl. Eintrag
?= Parameter bei MS-DOS 6.2. Ab DR DOS 5.0+
(ohne den optionalen Text sogar schon ab
DR DOS 3.41+)
/L:region[,minsize][;[...]] Außerdem werden die MS-DOS MEMMAKER-
x u + < Optionen /L:... und /S akzeptiert.
/S x u + <
Bis vor Update 14 galt:
Diese Optionen hatten im Prinzip keine
Funktion, da Novell DOS 7 keinen Region-
Support bot, wurden aber auch nicht zurück-
gewiesen. Wurden andere Regionen als 1
angegeben, so wurde der Treiber in den
Basisspeicher geladen (Region 0 ist sowieso
der Basisspeicher).
Die Angabe der Größe size muß dezimal er-
folgen (im Gegensatz zu SIZE=size). Die
Option /S muß *ohne* Leerfeld an die /L:...
Anweisung angehängt werden, sonst wird die
Zeile von Novell DOS 7 nicht akzeptiert.
Besonders tragisch war die fehlende
Unterstützung nicht, da die Speicher-
verwaltung hier schon ohne MEMMAKER, SIZER
und CHKSTATE erheblich komfortabler mit
SETUP, MEM und MEMMAX arbeitete und
i. allg. gleiche oder bessere Resultate
brachte.
Ab Update 14 (sicher aber Update 15) gilt:
Novell DOS 7 unterstützt - wie MS-DOS -
(offenbar in vollem Umfang) auch UMB-
Regions. Näheres hierzu siehe NWDOSTIP.TXT.
Syntax:
DEVICEHIGH= [/L:region[,minsize]
[;region[,minsize]
[;...]]] [/S]]
=driver driverparameter
SIZE=size x u + = Undokumentierte Option ab DR DOS 6.0+ für
DEVICEHIGH analog zu der Option von MS-DOS
5.0, die auch bei MS-DOS 6.x wieder undoku-
mentiert vorhanden ist. Diese Option er-
laubt die Angabe einer Größe size (hexa-
dezimal), die minimal in UMBs vorhanden
sein muß, damit DOS den Treiber hochlädt.
Ist soviel Speicher in den UMBs nicht
(mehr) vorhanden, wird der Treiber auto-
matisch in den Basisspeicher geladen.
Diese Option ist dann wichtig, wenn ein
Treiber während seiner Initialisierung
mehr Speicher benötigt, als die Dateigröße
vermuten läßt. Ist der Treiber dann nämlich
bereits in die UMBs geladen und steht der
zusätzliche Speicher nicht zur Verfügung,
kann die Initialisierung des Treibers
eventuell ganz versagen. Achtung: Die
Angabe der Größe ist willkürlich, d.h.
muß nicht der tatsächlich vom Treiber
benötigten Menge entsprechen (sinnvolle
Anwendung setzt allerdings voraus, daß man
hier den wirklichen Bedarf angibt). Die
Syntax lautet:
DEVICEHIGH [SIZE=xxxx] =driver driverparams
[COMMON] x u + / Aus Kompatibilität zu MS-DOS 6.2 und div.
zukünftigen Setup-Programmen wird diese
Gruppenbezeichnung nicht als Syntaxfehler
gewertet und kann sogar in das abweichende,
aber flexiblere Konzept von Novell DOS
eingebettet werden (vgl. SUBMENU=), so daß
man die [COMMON]-Gruppe als eine mögliche
Konfiguration laden kann. Andere Gruppen
werden allerdings nicht akzeptiert.
( AVAILDEV ) - AVAIDEV [=] [TRUE|FALSE].
Nur bei MS-DOS 2.xx.
( SWITCHAR ) - SWITCHAR [character].
Nur bei MS-DOS 2.xx.
COUNTRY x d / Zu MS-DOS 6.2 andere mögliche Datendateien.
SHELL x d =
LASTDRIVE x du => Erlaubt (zumindest ab Update 11 überprüft)
Laufwerksbuchstaben größer Z: durch alter-
native Angabe einer Anzahl, dies insb. zur
Unterstützung von Netz-Mappings [: bis `:
mit dem neuen Requester VLM, z.B.
LASTDRIVE=32. Diese Erweiterung fehlte bei
DR DOS 6.0 (zumindest bei der Original-
Ausgabe von 1991 noch).
BREAK x d / Zu MS-DOS 6.2 leicht andere BREAK-Bedingung
BUFFERS x du > Lädt - wenn möglich - automatisch hoch.
Akzeptiert wie bei DR DOS 6.0 zwei Para-
meter. Bei DR DOS 3.4x und 5.0 wurde nur
ein Parameter akzeptiert.
HIBUFFERS x u !> Obsolet, arbeitet ähnlich wie BUFFERS, aber
gilt nur für hochgeladene BUFFERS und ab-
hängig von BUFFERS. Ab DR DOS 6.0+
FCBS x du = Akzeptiert von DR DOS 3.4x bis Novell DOS 7
(Update 15) nur einen Parameter, auch wenn
in der Dokumentation von zwei Parametern
die Rede ist.
FILES x d = Entgegen der Beschreibung im DOSBOOK sind
Werte von 8 bis 255 möglich. Default ist
20. (Einige Versionen von IBMBIO.COM ließen
auch bis herab zu 5 Dateien zu.)
STACKS x d = Identisch zu MS-DOS, zwei funktionale
Parameter möglich.
(bei DR DOS 3.41-5.0 noch STACK= und bei
DR DOS 6.0 STACKS=, wobei sie dort aber nur
absolut funktionslose Kompatibilitäts-
Dummies waren.)
FASTOPEN x d / Analog zu MS-DOS 6.2 FASTOPEN= in
CONFIG.SYS. Mögliche Werte von 128 bis
32768. Das Kommando FASTOPEN.EXE ist
dagegen lediglich ein Kompatibilitäts-
Dummy.
DEBUG u -! Undok. Feature von DR DOS 3.41-6.0, ent-
fernt bei Novell DOS 7
(Syntax DEBUG=ON|OFF).
War gleichbedeutend mit dem undokumen-
tierten und meist gesperrten Kommando DBG,
das aber ebenfalls nicht mehr existiert.
DRIVPARM x du =
HISTORY x du !> Zu MS-DOS 6.2 vgl. DOSKEY, NUMLOCK,
HISTORY=ON|OFF[,nnn[[[,ON|OFF][,ON|OFF]
[,ON|OFF]]]]
Ab DR DOS 3.41+ drei Parameter, bei DR DOS
6.0 vier Parameter, bei Novell DOS 7 fünf
Parameter.
INSTALL x d = Gibt's bereits ab DR DOS 3.41 (und
MS-DOS 4.0)!!!
HIINSTALL x d !/ Zu MS-DOS 6.2 vgl. INSTALLHIGH
(ab DR DOS 5.0+)
INSTALLHIGH x d =
HIDOS x u / Ab sofort undokumentiert aus Kompatibilität
zu DR DOS 5.0/6.0, vgl. DOS=HIGH,UMB
DOS x d + = Mögliche Parameter: HIGH, LOW, UMB, NOUMB
(mit Parameter HIGH ab DR DOS 6.0+)
SET x d > Bei Novell DOS/DR DOS 6.0+ auch in
CONFIG.SYS
SWITCHES x u + / Aus Kompatibilität zu MS-DOS 6.0/6.2 und
MS-Windows. Zumindest ab Update 13 verbirgt
sich dahinter auch teilweise Funktionalität.
HIDEVICE x d !/ Zu MS-DOS 6.2 vgl. DEVICEHIGH, Syntax:
HIDEVICE [SIZE=nnnn] [=] dateispez.
(ab DR DOS 5.0+)
DEVICEHIGH x d = Ab sofort dokumentiert (ab DR DOS 6.0+
vorhanden).
DEVICE x d =
REM x d = Vgl. auch ';' (ab DR DOS 3.41+)
zu MS-DOS wie REM, COMMENT bis MS-DOS 6.0,
und ';' ab MS-DOS 6.2
CHAIN x d ! Verkettung von verschiedenen Konfigura-
tionsdateien zu einer CONFIG.SYS, ab
DR DOS 5.0+, zu MS-DOS 6.2 vgl. MENUxxxx
GOTO x d ! Sprünge in CONFIG.SYS, ab DR DOS 5.0+,
zu MS-DOS 6.2 vgl. MENUxxxx
GOSUB x d ! Sprünge mit Rücksprung in CONFIG.SYS,
ab DR DOS 6.0+, zu MS-DOS 6.2 vgl. MENUxxxx
RETURN x du ! Rücksprünge in CONFIG.SYS, ab DR DOS 6.0+,
zu MS-DOS 6.2 vgl. MENUxxxx
CLS x d !> Novell DOS/DR DOS 6.0+ auch in CONFIG.SYS
CPOS x du ! Cursorposition setzen mit NN,MM wobei
NN=zeile, MM=spalte (ab DR DOS 6.0+)
TIMEOUT x du !> Zu MS-DOS 6.2 vgl. MENUDEFAULT,
TIMEOUT besitzt sehr leistungsfähige un-
dokumentierte Erweiterungen (ab DR DOS 6.0+
vorhanden).
SWITCH x du !> Zu MS-DOS 6.2 vgl. MENUITEM, MENUDEFAULT
SWITCH besitzt sehr leistungsfähige undoku-
mentierte Erweiterungen (ab DR DOS 6.0+
vorhanden).
ONERROR x u ! Extrem leistungsfähiges Kommando in etwa
analog zu IF ERRORLEVEL in Batchjobs (ab
DR DOS 6.0+).
ECHO x d !> Zu MS-DOS 6.2 vgl. MENUITEM,
ECHO gibt exakt das aus, was ab dem ersten
sichtbaren Zeichen als Parameter angegeben
wurde, also durchaus vom Batchjob-Kommando
ziemlich abweichend (ein evtl. führendes
'=' wird verschluckt!!). Ab DR DOS 5.0+
EXIT x d !> CONFIG.SYS beenden vgl. CHAIN und SWITCH,
ab DR DOS 6.0+
ERROR x u ! Setzt einen Errorlevel (ab DR DOS 6.0+).
GETKEY x u ! Wartet auf Tastendruck oder Timeout und
setzt einen entsprechenden Errorlevel
(ab DR DOS 6.0+).
YESCHAR x u +! YESCHAR=chr,
wobei chr das Zeichen ist, nach dem
in den üblichen (J/N)?-Abfragen innerhalb
von CONFIG.SYS reagiert wird.
Default bei deutscher Version ist J.
DEBLOCK [hex-value] Wird zur Einstellung der Methode für die
x u +! 'Disk Deblocking' benutzt. Frühere
sichere, aber langsame Einstellung war
A000 (640 KByte-Grenze), mittlerweile wird
aber MS-DOS' schnellere, aber gefährlichere
Einstellung als Default verwendet (FFFF).
Näheres siehe in NWDOSTIP.TXT bei NWCACHE.
NUMLOCK x u + / NUMLOCK[[=][on|off]], Default ist keine
Veränderung.
( COMMENT ) / Nur MS-DOS 5.0/6.0 wie REM und ';'.
( INCLUDE ) /< Nur MS-DOS 6.2, kann aber mit GOSUB/RETURN
flexibler.
( MENUCOLOR ) /< nachgebildet werden, MENUDEFAULT arbeitet
ähnlich
( MENUDEFAULT ) /< wie TIMEOUT und SWITCH, MENUITEM und
( MENUITEM ) /< SUBMENU wie ECHO und SWITCH. Das einzige,
( SUBMENU ) /< was bei Novell DOS komplizierter in der
Handhabung ist, sind Untermenüs. Dafür
werden aber - insbesondere unter Zuhilfe-
nahme der undokumentierten Kommandos -
sehr viel mehr Möglichkeiten geboten.
---------------------------------------------------------------------------
5. Interne Kommandos von COMMAND.COM:
=====================================
>> Dieser Abschnitt ist noch nicht in allen Belangen aktualisiert!!! <<
Außer div. syntaktischen Möglichkeiten sind alle 'echten' internen
Befehle, also residente und Batch-Kommandos aufgeführt! Ausführlichere
und aktuelle Informationen finden Sie in NWDOSTIP.TXT.
Übersicht:
Kommando: Attribute: Vergleich zu MS-DOS 5.0/6.xx:
(Novell DOS)
; wie REM, ab Update 11
? DR DOS/Novel DOS (Individuelles Ausführen
von Befehlen in CONFIG.SYS u. Batchjobs
nach Tastendrücken).
/? /H /HELP xu+! Ruft eine Übersicht über alle (dokumen-
tierten) Befehle von COMMAND.COM auf
Einfach am Prompt /? eingeben.
COMMAND > sonst, wie gewohnt.
APPEND - > sonst, wie gewohnt.
BATCH u-! undok. Funktion zum Aufrufen von Batchjobs
(nur bei DR DOS 3.41 und Multiuser DOS
vorhanden). Ähnlich wie CALL.
BREAK = wie gewohnt (Break-Bedingung leicht
anders).
CALL = wie gewohnt.
CHCP =
CHDIR | CD = wie gewohnt.
CLS > wie gewohnt.
COPY /= > wie gewohnt.
CTTY = wie gewohnt.
DATE = wie gewohnt.
DBG - nur DR DOS 3.41: undokumentiert
(i. allg. gesperrt)
bei Multiuser DOS dokumentiert und
funktionsfähig.
DEL > wie gewohnt.
DELQ ab DR DOS 3.41+.
DIR /= > wie gewohnt.
ECHO > (bei DR DOS/Novell DOS auch in
CONFIG.SYS). Die Ausgabe von ECHO.
wich in frühen Ausgabe von Novell DOS
(vor Update 8) leider von MS-DOS ab,
was verschiedene Probleme bereitete.
ECHOERR - nur DR DOS 6.0: undokumentiert
(i. allg. gesperrt)
bei Multiuser DOS dokumentiert und
funktionsfähig
ERAQ ab DR DOS 3.41+
ERASE | ERA > wie gewohnt.
(ERA ab DR DOS 3.41+ und CP/M)
EXIT = wie gewohnt.
FOR IN ( ) DO > wie gewohnt.
GOTO > (bei DR DOS/Novell DOS auch in
CONFIG.SYS)
GOSUB DR DOS/Novell DOS
(CONFIG.SYS u. Batchjobs)
HILOAD | LOADHIGH | LH DR DOS/Novell DOS (wie LOADHIGH/LH)
unterstützt undokumentiert die
Parameter /L: und /S
IDLE nur DR DOS 5.0+: undokumentiert
(i. allg. 'off')
IF [NOT] bed1 [[AND|OR] [NOT] bed2] [[AND|OR] bed3] cmd
AND und OR bei Novell DOS und DR DOS 6.0,
aus Kompatibilität zu MS-DOS sollte man für
AND ein verschachteltes IF verwenden:
IF bed1 [IF bed2 [IF bed3]],
OR kann man durch GOTOs simulieren. (Ein
Fehler im OR-Handling wurde mit Update 12
behoben.)
mit bedx = ERRORLEVEL lvl Errorlevel >= lvl
EXIST file Wildcards sind zulässig
DIREXIST dir Novell DOS 7 und DR DOS 6.0, aus
Kompatibilität zu MS-DOS sollte man aber
stattdessen EXIST dir\NUL verwenden.
Allerdings ist sichergestellt, daß
DIREXIST auch auf Netzlaufwerken
funktioniert, wohingegen EXIST\nul
offenbar nicht immer den gleichen Erfolg
bringt (könnte an NET.CFG: ShowDots=On|Off
liegen).
str1 op str2
#val1 op #val2 Novell DOS 7 Feature!!!
mit file = Dateiname (Wildcards zulässig???)
dir = Verzeichnisname
cmd = auszuführendes Kommando
strx = bel. Zeichenkette z.B. aus Variable, möglichst
in "" einschließen!!
valx = bel. Zeichenkette, die als absoluter Wert
interpretiert wird.
op = =|==|!=|<> Vergleichsoperationen, aus Kompatibi-
lität zu MS-DOS sollte man aber nur == (Identität)
verwenden. Die Ungleichheit kann man auch mit
NOT bedx ausdrücken, <|>|>=|<= sind ebenfalls sowohl
für strx als auch für valx zulässig und werden von
Novell DOS 7 evaluiert, sind aber nicht dokumen-
tiert!!! Damit hat man wirklich eine Möglichkeit
für vergleichsweise komplizierte Vergleiche,
allerdings können keine Ausdrücke berechnet werden.
Da MS-DOS aber diese Spielarten nicht erkennt,
sollte man äußerst vorsichtig damit umgehen, weil
die Zeichen > und < bei MS-DOS nur Umleitung be-
deuten und damit etwas ganz anderes bewirken
(bis Update 11 war auch noch ! möglich).
Multiuser DOS bietet die von Novell DOS 7 nicht
unterstützten Konditionen EQ, NE, LT, GT, LE und GE
an.
MKDIR | MD = wie gewohnt.
MORE = wie gewohnt.
PATH > wie gewohnt.
PAUSE >= wie gewohnt.
PAUSEERR - nur DR DOS 6.0: undok.
(i. allg. gesperrt)
Bei Multiuser DOS dokumentiert und
funktionsfähig.
PROMPT > wie gewohnt (teilweise undok.).
REM = wie gewohnt (auch CONFIG.SYS)
RENAME | REN > wie gewohnt.
RETURN DR DOS/Novell DOS (CONFIG.SYS u. Batchjobs)
RMDIR | RD = wie gewohnt.
SET = wie gewohnt.
SHIFT = wie gewohnt.
SWITCH DR DOS/Novell DOS:
(Verzweigung in CONFIG.SYS u. Batchjobs)
TIME = wie gewohnt.
TRUENAME undok. ab Update 8
TYPE > wie gewohnt.
VER = (DR DOS/Novell DOS haben andere
Versionspolitik vgl. Variable %Ver%)
VERIFY = wie gewohnt.
VOL = wie gewohnt.
---------------------------------------------------------------------------
6. Hilfe zu internen Kommandos von COMMAND.COM:
===============================================
Beim Wechsel von DR DOS 6.0 zu Novell DOS 7 wurden einige bisher
interne Kommandos ausgelagert:
APPEND Anlegen eines Suchpfads für Dateien und Overlays.
%Append%-Variable.
MORE Seitenweise Aufbereitung der Ausgaben einer Anwendung
auf der Konsole.
Weiterhin existieren die folgenden drei bei DR DOS 6.0 noch undoku-
mentierten, aber bei Multiuser DOS dokumentierten und funktionsfähigen
internen Kommandos nicht mehr: DBG, ECHOERR und PAUSEERR.
Nun die Übersicht über alle internen Kommandos:
Änderungen haben sich bei DEL, ERASE, HILOAD/LOADHIGH/LH, IF, IDLE,
PROMPT ergeben, weiterhin sind einige bei DR DOS 6.0 neue Kommandos
nun in die integrierte Hilfe aufgenommen worden.
COMMAND Ausführen einer zweiten Kopie des Standardkommandoprozessors.
Syntax: COMMAND /H
COMMAND [verzpfad][ /E:n][ /P[:dateiname]][/Mx][ /Ckommando]
/H Anzeige dieses Hilfetexts
verzpfad Laufwerk und Pfad, von dem COMMAND.COM geladen wird.
/E:n Belegen von n Bytes für die Umgebung (Standard: 512)
/P Dauerhaftes Laden von COMMAND.COM (EXIT hat keine
Wirkung)
Ein optionaler Dateiname führt zur Ausführung von
dateiname anstelle von AUTOEXEC.BAT.
/C Ausführen von "kommando" und dann beenden
/ML Residenter Teil wird in unteren konvent. Speicher
geladen.
/MU Residenter Teil wird in den oberen Speicher geladen.
/MH Resid. Teil wird in d. unteren Teil d. Zusatzspeichers
geladen
Beispiele:
COMMAND /E:1024 /P
COMMAND /Cdir c:
Hinweis:
%ComSpec% Umgebungsvariable.
BREAK Steuerung des Abbruchs von Programmen mit <Ctrl>+<Break>
oder <Ctrl>+<c>.
Syntax:
BREAK /H
BREAK [ON|OFF]
/H Anzeige dieses Hilfetexts
ON Einschalten des Prüfens der Abbruchbedingung (Standard)
OFF Ausschalten des Prüfens der Abbruchbedingung
nichts Ohne Parameter: Anzeige des Status' von Break (ON oder
OFF)
Beispiele:
BREAK OFF
BREAK
CALL Beim Aufruf innerhalb einer Stapeldatei ruft CALL eine andere
Stapeldatei auf und kehrt nach deren Beendigung zur ersten Datei
zurück.
Syntax:
CALL /H
CALL [d:][pfad]datei[.BAT][ params[...]]
/H Anzeige dieses Hilfetexts
d: Laufwerk der Stapeldatei
pfad Pfad der Stapeldatei
datei Name der aufzurufenden Stapeldatei
.BAT Optionale Dateitypangabe
params Von aufgerufener Datei als %1 %2 ... etc. gelesene
Parameter
Beispiele:
CALL tues.bat
CALL stelldat 5 Nov 90
CHCP Wechseln der aktiven Codetabelle.
Syntax:
CHCP /H
CHCP [cp]
/H Anzeige dieses Hilfetexts
cp neue aktive Codetabelle
nichts Ohne Parameter: Anzeige der aktuellen Codetabelle
Beispiel:
CHCP 850
CHDIR Anzeige des Pfads oder Wechseln des aktuellen Verzeichnisses.
Kann mit CD abgekürzt werden.
Syntax:
CHDIR /H
CHDIR [[d:]verzpfad]
/H Anzeige dieses Hilfetexts
d: Laufwerk, auf dem verzpfad liegt
verzpfad Gewünschtes neues aktuelles Verzeichnis
nichts Ohne Parameter: Anzeige des aktuellen Laufwerks/
Verzeichnisses
Beispiele:
CHDIR c:\strtverz
CD ..
CD
Hinweise: /A undokumentierte Option zur Ausgabe aller Laufwerke
CLS Löschen des Bildschirms.
Syntax:
CLS /H
/H Anzeige dieses Hilfetexts
Beispiel:
CLS
Hinweis:
%$Cls% Umgebungsvariable (evtl. auch %$On% und %$Off% ???)
COPY Kopieren oder Kombinieren von Dateien
Syntax:
COPY /H
COPY gerät|ersatzspez[+ersatzspez...][schalter]
[gerät|dateispez[schalter]]
gerät Ist CON, LPTn, PRN, NUL, COMn oder AUX
ersatzspez Zu verwendendes Quellgerät, -datei oder Dateiliste
dateispez Zieldatei oder -gerät
schalter /A Betrachte Datei als ASCII-Datei
/B Betrachte Quelldatei als binär (ignoriere
^Z in Datei)
/V Prüfen der Übereinstimmung von Quelle und Ziel
/S Auch System- und versteckte Dateien kopieren
/C Fragen vor dem Kopieren jeder Datei
/Z Nullsetzen des höchstwertigen Bits jedes Bytes
im Ziel
Beispiele:
COPY datei1+datei2 datei3
COPY *.txt c:dir1
CTTY Umsteuerung der Konsolen-Ein-/Ausgabe auf eine Schnittstelle.
Syntax:
CTTY /H
CTTY schnittstelle
/H Anzeige dieses Hilfetexts
schnittstelle Schnittstelle, zu der umgesteuert wird
Beispiel:
CTTY COM1:
DATE Anzeige und Änderung des Datums.
Syntax:
DATE /H
DATE [mm-tt-jj] (US-Format)
DATE [tt.mm.jj] (Europäisches Format)
DATE [jj-mm-tt] (Japanisches Format)
/H Anzeige dieses Hilfetexts
mm Monat 1 bis 12
tt Tag 1 bis 31
jj Jahr mit 2 oder 4 Ziffern
nichts Ohne Parameter: Anzeige des Datums und Frage nach
neuem Datum
Beispiele:
DATE 16.11.90 (im europäischen Datumsformat)
DATE
DEL Löschen von Dateien.
Syntax:
DEL /H
DEL ersatzspez [/C|/P][/S]
/H Anzeige dieses Hilfetexts
/C|/P Fragen vor dem Löschen
/S Einbeziehen von Systemdateien
ersatzspez Zu löschende Datei (Ersatzzeichen sind erlaubt)
Beispiele:
DEL *.EXE /CS
DEL MEINTEXT.TXT
Hinweis:
/C ist die alte DR DOS Option, /P die identische neue Option
aus Kompatibilität zu MS-DOS 6.2.
DELQ Löschen von Dateien mit expliziter Freigabe jeder Datei.
Syntax:
DELQ /H
DELQ ersatzspez [/S]
/H Anzeige dieses Hilfetexts
/S Einbeziehen von Systemdateien
ersatzspez Zu löschende Datei (Ersatzzeichen sind erlaubt)
Beispiele:
DELQ *.EXE /S
DELQ MEINTEXT.TXT
DIR Anzeige der Dateien in einem Verzeichnis.
Syntax: DIR /H
DIR [ersatzspez] [/L|/2|/W] [/P|/N] [/A|/D|/S] [/C|/R]
/H Anzeige dieses Hilfetexts
ersatzspez Anzuzeigende Dateien (Ersatzzeichen sind erlaubt)
/A Anzeige aller Dateien
/C oder /R Speichern d. anderen Schalter als Standard für
Aufrufe
/D Anzeige d. Dateien ohne gesetztes Systemattribut
(Standard)
/L Langformat. Beinhaltet Größe, Datum und Zeit
(Standard)
/2 wie oben, jedoch werden Dateien in zwei Spalten
dargestellt
/N Rücksetzen der seitenweisen Anzeige auf Standardwert
/P Pause am Ende einer vollen Seite. Standard: "keine
Pause"
/S Anzeige der Dateien mit gesetztem Systemattribut
/W Breites Format. Anzeige nur der Datei- und
Verzeichnisnamen
nichts Ohne Parameter: Anzeige aller Dateien unter
Verwendung der aktuellen Standardschalter
Beispiel:
DIR /C /W
Hinweis:
%DIRCmd% Umgebungsvariable bei MS-DOS 6.0 / 6.2, nur bei
STACKERs DIR.COM von Novell DOS, aber es gibt ja als Ersatz
die Novell DOS Optionen /C bzw. /R, die schon seit DR DOS
3.41+ existieren!
ECHO Wird in Stapeldateien verwendet und zeigt eine Meldung
auf dem Bildschirm an.
Syntax:
ECHO /H
ECHO [ON|OFF|text]
/H Anzeige dieses Hilfetexts
ON Einschalten des Bildschirmechos (Standard)
OFF Ausschalten des Bildschirmechos
text Anzeige von "text"
Beispiele:
ECHO OFF
ECHO Sie verwenden das Betriebssystem %OS%
Hinweis:
ECHO. erzeugt Leerzeile (nur in Batchjobs) aus Zeichenfolge
20ドル 0ドルD 0ドルA im Gegensatz zu 0ドルD 0ドルA bei MS-DOS (kann zu
Problemen führen). Dieses Problem wurde mit Update 8
behoben, die Zeichenfolge ist nun identisch.
ERAQ Löschen von Dateien mit expliziter Freigabe jeder Datei.
ERAQ ersatzspez [/S]
/H Anzeige dieses Hilfetexts
/S Einbeziehen von Systemdateien
ersatzspez Zu löschende Datei (Ersatzzeichen sind erlaubt)
Beispiele:
ERAQ *.EXE /S
ERAQ MEINTEXT.TXT
ERASE Löschen von Dateien. Kann mit ERA abgekürzt werden
(allerdings nur bei DR DOS/Novell DOS).
Syntax:
ERASE /H
ERASE ersatzspez [/C|/P][/S]
/H Anzeige dieses Hilfetexts
/C|/P Fragen vor dem Löschen
/S Einbeziehen von Systemdateien
ersatzspez Zu löschende Datei (Ersatzzeichen sind erlaubt)
Beispiele:
ERASE *.EXE /CS
ERA MEINTEXT.TXT
Hinweis:
/C ist die alte DR DOS Option, /P die neue Option aus
Kompatibilität zu MS-DOS 6.2.
EXIT Beendet eine Stapeldatei oder einen zweiten Kommandoprozessor.
Syntax:
EXIT [/H]
/H Anzeige dieses Hilfetexts
Beispiel:
EXIT
FOR Meistens in Stapeldateien verwendet, wird dieses Kommando
benutzt, um eine Kommandofolge zu wiederholen, wobei bei jedem
Durchlauf ein Dateiname aus einer Liste ersetzt wird.
Syntax:
FOR /H
FOR %[%]var IN (dateiset) DO kommando
%%var In Stapeldatei als Zeiger auf Dateinamen verwendete
Variable
%var In Kommandozeile als Zeiger auf Dateinamen verwendete
Variable
dateiset Liste von zu bearbeitenden Dateien
kommando Auszuführende Operation
Beispiele:
FOR %%f IN (meinprog.asm acct.bas acct2.bas) DO TYPE %%f
FOR %f IN (meinprog.asm acct.bas acct2.bas) DO TYPE %f
GOTO In Stapeldateien verwendet, führt dieses Kommando zur
Verzweigung der Befehlsausführung zu einer angegebenen Stelle
der Stapeldatei.
Syntax:
GOTO /H
GOTO marke
/H Anzeige dieses Hilfetexts
marke Anzuspringende Marke
Beispiel:
:start
type meintext.txt
goto start
GOSUB/RETURN
Mit dem Kommando GOSUB verzweigt die Kommandoausführung zu einem
angegebenen Punkt in der Stapeldatei. Sobald ein RETURN-Kommando
auftritt, kehrt die Kommandoausführung zurück zur Zeile hinter
GOSUB, die dann als nächste ausgeführt wird.
Syntax:
GOSUB marke
Beispiel:
GOSUB meinefunktion
GOTO beendet
:meinefunktion
ECHO Hallo
RETURN
:beendet
HILOAD Laden und Ausführen eines Programmes im oberen Speicher
(upper mem.).
Syntax:
HILOAD /H
HILOAD dname
/H Anzeige dieses Hilfetexts
dname Dateiname des zu ladenden Programmes
(LOADHIGH und LH können anstelle von HILOAD verwendet werden)
HILOAD hat nur dann einen Effekt, wenn die MemoryMAX-Software geladen
und oberer Speicher (upper memory) verfügbar ist. Ist dies nicht der
Fall, dann wird das Programm im konventionellen Speicher geladen und
ausgeführt.
Beispiel:
HILOAD CURSOR
IDLE Ein-/Ausschalten der dynamischen Erkennung von Warteschleifen.
Syntax:
IDLE /H
IDLE [= ][ON|OFF]
/H Anzeige dieses Hilfetexts
ON Einschalten der dynamischen Erkennung von Warteschleifen
OFF Ausschalten der dynamischen Erkennung von Warteschleifen
nichts Ohne Parameterangabe: Anzeige des Status' (ON oder OFF)
Beispiel:
IDLE = ON
IDLE OFF
IF Verwendet in Stapeldateien, erlaubt dieses Kommando die bedingte
Abarbeitung von Kommandos, abhängig von angegebenen Bedingungen.
Syntax: IF /H
IF [NOT] bedingung [AND [NOT] bedingung][OR [NOT] bedingung]
kommando
/H Anzeige dieses Hilfetextes
bedingung ERRORLEVEL [==] zahl
EXIST [==] dateispez
zeichenkette1 ==|!=|>|>=|<|<=|<> zeichenkette2
#wert1 ==|!=|>|>=|<|<=|<> #wert2
DIREXIST [==] pfadspez (nur DR DOS 6.0 und
Novell DOS 7 wie EXIST ...\NUL !)
Beispiele: IF EXIST c:\bin\editor.exe c:\bin\editor %1
IF NOT "%1" == "deutsch" ECHO Falsche Sprache angegeben
IF #%mem% < #540 ECHO Zuwenig freier Speicher
Hinweise:
AND gibt es erst ab Novell DOS 7, OR bereits seit DR DOS 6.0
MKDIR Anlegen eines Unterverzeichnisses. Kann mit MD abgekürzt werden.
Syntax:
MKDIR /H
MKDIR [d:]verzpfad
/H Anzeige dieses Hilfetexts
d: Laufwerk
verzpfad Anzulegendes Unterverzeichnis
Beispiele:
MKDIR \BENUTZER\JOACHIM
MD ..\BENUTZER\DORIS
PATH Anzeigen oder Einstellen eines Suchpfades für Kommandos oder
Stapeldateien.
Syntax:
PATH /H
PATH [[d:]verzpfad[;[d:]verzpfad...]]
d: Laufwerk, auf dem sich der Verzeichnispfad befindet
verzpfad Unterverzeichnispfad
; Pfadtrennzeichen; Löscht, falls alleine verwendet,
die Pfadangabe
nichts Ohne Parameterangabe: Anzeige des aktuellen Pfades
Beispiele:
PATH
PATH c:\osutils;c:\bin;d:\benutzer\joachim
PATH;
Hinweis:
%Path% Umgebungsvariable (bei MS-DOS ab 6.0 nur mit /E, sonst
immer)
PAUSE Verwendet in Stapeldateien, hält dieses Kommando die Ausführung
der Stapeldatei an, bis eine Taste gedrückt wird.
Syntax:
PAUSE /H
PAUSE [kommentar]
/H Anzeige dieses Hilfetexts
kommentar Anzeige von "kommentar", falls ECHO eingeschaltet ist
nichts Ohne Parameterangabe: Anzeige der Standardmeldung von
pause
Beispiele:
PAUSE
Weiter mit beliebiger Taste . . .
PAUSE Legen Sie Diskette Nummer 2 in Laufwerk A: ein
Weiter mit beliebiger Taste . . .
PROMPT Modifizieren des Kommando-Prompts.
Syntax: PROMPT /H oder PROMPT [$liste]
Liste kann dabei sein:
$ das Zeichen $ t Zeit
d Datum p aktuelles Verzeichnis
v BS-Versionsnummer n Laufwerksbuchstabe
g das Zeichen ">" l das Zeichen "<"
b das Zeichen "|" q das Zeichen "="
h Rücktaste e das Zeichen Escape (ASCII-27)
x startet das in der Umgebungsvariablen %PExec% definierte Programm
- schaltet den Prompt aus
_ springt in eine neue Zeile
Beispiel:
PROMPT $p$g ==> C:\DIR>
Hinweis:
Bei DR DOS 6.0 und Novell DOS 7 heißt die Umgebungsvariable %PExec%,
nicht %Exec% (wie fälschlicherweise in der /? Hilfe ausgegeben wird);
Umgebungsvariable %Prompt%.
Undokumentierte Möglichkeit bei Novell DOS plus PNW:
$u zur Anzeige des Anmeldenamens eines Benutzers (einfach eine Online-
Ersetzung des Variableninhaltes der Variablen %LoginName%, nicht zu
verwechseln mit der Systeminformationskonstanten %Login_Name%).
Nur in der eingebauten Hilfe von COMMAND.COM dokumentiert ist
$- zum Ausschalten des Prompts (deshalb wird hier nochmal extra darauf
hingewiesen).
REM Verwendet in Stapeldateien, führt dieses Kommando dazu, daß der
Rest der Zeile ignoriert wird.
Syntax:
REM /H
REM [kommentar]
/H Anzeige dieses Hilfetexts
kommentar Kommentartext
Beispiele:
REM Ignoriere den Rest dieser Zeile
REM XDEL \*.* /sdrn DIES IST SICHER, DA ES NICHT AUSGEFÜHRT WIRD
RENAME Umbenennen von Dateien oder Verschieben von Dateien zwischen
Unterverzeichnissen auf derselben Platte. Kann mit REN abgekürzt
werden.
Syntax:
RENAME /H
RENAME alteersatzspez neueersatzspez
/H Anzeige dieses Hilfetexts
alteersatzspez Vollständiger Pfad und Dateiname der
Quelldatei(en)
neueersatzspez Vollständiger Pfad und Dateiname der
Zieldatei(en)
Beispiele:
RENAME *.TXT *.DOK
REN AUTOEXEC.BAT *.SAV
REN \MEINTEXT.BAT \ARCHIV\MEINTEXT.BAT
RMDIR Entfernen des angegebenen Unterverzeichnisses. Mit RD abkürzbar.
Syntax:
RMDIR /H
RMDIR [d:]verzpfad
/H Anzeige dieses Hilfetexts
d: Laufwerk, auf dem der Verzeichnispfad liegt
verzpfad Zu entfernendes Unterverzeichnis
Beispiele:
RMDIR \benutzer\bert
RD \arbeit\test
SET Einfügen von Zeichenketten in die Umgebung des Kommando-
prozessors.
Syntax:
SET /H
SET [name=[zeichenkette]]
/H Anzeige dieses Hilfetexts
name= Name der zu belegenden Umgebungsvariablen
zeichenkette Die der Variablen zuzuordnende Zeichenkette
nichts Ohne Parameterangabe: Anzeige aller Umgebungs-
Zeichenketten
Beispiele:
SET archiv=c:\archiv\
SET flags=-b-t$r
SET backup=
SHIFT Verwendet in Stapeldateien, erlaubt dieses Kommando das Ändern
der Position von Kommandozeilenparametern, wodurch Sie auf mehr
als 10 (%0 bis %9) Ersetzungswerte zugreifen können.
Syntax:
SHIFT [/H]
/H Anzeige dieses Hilfetexts
Beispiel:
:schleife
if "%1" == "" goto fertig
copy %1 c:\archiv
shift
goto schleife
:fertig
SWITCH Dieses Kommando erlaubt dem Benutzer die Auswahl eines Eintrags
aus einem Menü in einer Stapeldatei. Die Zeichen 1 - 9 wählen
die entsprechende Marke aus der Kommandozeile heraus. Ein
RETURN-Kommando verlagert die Kommandoausführung wieder zurück
zur Zeile nach dem SWITCH-Kommando.
Syntax:
SWITCH marke [,marke..]
Beispiel:
SWITCH marke1,marke2,marke3,marke4
GOTO beendet
:marke1
ECHO Hallo
RETURN
:marke2
ECHO Welt
RETURN
...
TIME Anzeigen und Ändern der Tageszeit.
Syntax:
TIME /H
TIME [hh[:mm[:ss]]] [/C]
/H Anzeige dieses Hilfetexts
hh Stunden: 0 bis 23
mm Minuten: 0 bis 59
ss Sekunden: 0 bis 59
/C zeigt die Zeit kontinuierlich an
nichts Ohne Parameter: Anzeige der aktuellen Uhrzeit und Ein-
gabemöglichkeit f. neue Zeitangabe. Enter läßt die Zeit
ungeändert
Beispiele:
TIME 5:23:8
TIME 7:32
TIME
TYPE Anzeigen des Inhalts einer Textdatei auf dem Bildschirm.
Syntax:
TYPE /H
TYPE ersatzspez [/P]
/H Anzeige dieses Hilfetexts
ersatzspez Anzuzeigende Datei (Ersatzzeichen sind erlaubt)
/P Pause am Ende jeder Bildschirmseite
Beispiele:
TYPE *.TXT /P
TYPE C:\AUTOEXEC.BAT
VER Anzeigen der Versionsnummer des benutzten Betriebssystems.
Syntax:
VER [/H]
/H Anzeige dieses Hilfetexts
Beispiel:
VER
Hinweis: %Ver% Umgebungsvariable
VERIFY Ein-/Ausschalten der Verify-Option, die das Betriebssystem
veranlaßt, nach jeder Schreiboperation die Korrektheit der
auf Platte geschriebenen Daten zu überprüfen.
Syntax:
VERIFY /H
VERIFY [ON|OFF]
/H Anzeige dieses Hilfetexts
ON Einschalten von VERIFY
OFF Ausschalten von VERIFY (Standard)
nichts Ohne Parameter: Anzeige des aktuellen Status' von VERIFY
(ON / OFF)
Beispiele:
VERIFY ON
VERIFY
Hinweise:
Sollte normalerweise eingeschaltet sein. Wird ein Cache in
Verbindung mit Netzen (wie PNW) verwendet, empfiehlt Novell
allerdings VERIFY OFF zu setzen, da sonst die Wirkung des
Caches zunichte gemacht wird.
VOL Anzeigen des Bereichsnamens der Diskette/Festplatte.
Syntax:
VOL /H
VOL [d:]
/H Anzeige dieses Hilfetexts
d: Laufwerk, dessen Bereichsname angezeigt werden soll
nichts Ohne Parameter: Anzeige d. Bereichsnamens des
Standardlaufwerks
Beispiel:
VOL
---------------------------------------------------------------------------
7. Hinweise für Novell DOS Fans für weitere Untersuchungen: [97-03-22]
======================================================================
i. Spezielle Dateien (verwendet in IBMBIO.COM):
-----------------------------------------------
DCONFIG.SYS DRDOS 3.41+ Vor-CONFIG.SYS-Datei zum Laden von
Superstor-Plattenkomprimierer (Stacker bei
Novell DOS) vor dem Ausführen der CONFIG.SYS.
Der Namen (D)CONFIG.SYS stammt daher, daß
diese CONFIG.SYS Datei nach der Ausführung auf
Laufwerk D: statt C: wiederzufinden ist.
A:\DRDOS.COM DRDOS 3.41+ (statt IBMDOS.COM)
ii. Tips für nach versteckten Eigenschaften Suchende:
-----------------------------------------------------
Wer mit einem Hex-Dumper, DEBUG (oder einem Disassembler) die (ent-
packten) externen Utilities von DR DOS/Novell DOS untersucht, wird in
einigen Kommandos auf Zeichenketten stoßen, die auf undokumentierte
Umgebungsvariablen schließen lassen (DR DOS 3.41/5.0 FORMAT enthält
MEDIA=, DR DOS 3.41+/Novell DOS 7 FIND enthält z.B. DISPLAY=A/B,
ähnliches gilt auch für andere Tools). Soweit ich bisher feststellen
konnte, handelt es sich hierbei jedoch lediglich um interne Flaggen,
die zu Debug-Zwecken speziell gekennzeichnet wurden, um sie im Code
auch zur Laufzeit schneller wiederzufinden. DISPLAY= ist z.B. ein
Toggle, das offenbar die Bildschirmausgabe von FIND steuert und
intern permanent umgesetzt wird.
Viele externe Utilities, die mit Turbo/Borland C geschrieben wurden
(erkennbar am Copyright-Vermerk des Compilers im Code) enthalten in
den Hilfstexten (in C-Syntax) viele Zeichenketten mit vorangestelltem
'%'-Zeichen. Entsprechend muß für die Ausgabe dieser Zeichenketten auch
eine Parse-Routine der Runtime-Library des Compilers im Code enthalten
sein, die die Zeichenketten auswertet, die mit '%' beginnen. In diesem
Zusammenhang werden insbesondere '#', '-', '*', '.', '0'..'9' aus-
gewertet. Natürlich wäre es möglich, daß diese Routine von den Utilities
auch für andere Zwecke während der Auswertung anderer Zeichenketten
benutzt wird, jedoch konnte ich bisher keine Hinweise darauf finden.
iii. Patches für COMMAND.COM:
-----------------------------
In COMMAND.COM finden sich die möglichen Optionen vieler interner
Kommandos in Form von aufeinanderfolgenden Buchstaben. Sollte es
notwendig sein, ein Option auf einen anderen Buchstaben zu legen,
kann man diese Zeichenketten patchen:
A für CHDIR, CD
DSAWLPRCN2 für DIR
CPS für DEL, ERA, ERASE
VSZCAB für COPY
VSZC evtl. auch für COPY???
YTPMKHEDC? für COMMAND.COM selbst
C wahrscheinlich für TIME
P wahrscheinlich für TYPE
iv. Offene Fragen:
------------------
DEBUG.EXE:
In NWDOSTIP.TXT wird ausführlich auf die unglaubliche Zahl un-
dokumentierter Erweiterungen von Novells DEBUG eingegangen.
Ein paar (wichtige) Details sind aber nach wie vor ungeklärt,
etwa das Dateiformat von .SYM Dateien und ob - auf irgendeine
Weise - doch noch das Intel-Hex-Format (.HEX), evtl. mit
Symbolergänzungen, unterstützt wird. Außerdem können Symbole
wahrscheinlich auch innerhalb des Debuggers definiert werden
und DEBUG erlaubt Remote-Debuggen.
Wer hierzu eine Vermutung hat, sollte mir diese bitte mitteilen.
---------------------------------------------------------------------------
Converted to HTML by TXT2HTML (©Thomas Antoni), 29.06.2011, 17:35:55