--------------------------------------------------------------------------- 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 |