---------------------------------------------------------------------------

                        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 $0D $0A im Gegensatz zu $0D $0A 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