Große FAQ zu MS-DOS
Die am häufigsten zu MS-DOS gestellten Fragen und ihre Antworten
Herausgegeben von Thomas Antoni V0.2 - 04.05.01
|
Frage:
--------
Wo kann ich MS-DOS downloaden oder kaufen?
Antwort:
--------
Offiziell wird MS-DOS von Microsoft nicht mehr vertrieben. Man kann
es als Gebraucht-Software eventuell bei einem Online-Auktionshaus
erwerben, z.B. bei http://www.ebay.com. Mit einigen PCs der Handels-
kette Vobis wird heute noch das kompatible IBM-Betriebssystem
PC-DOS 7 als OEM-Version verkauft. Vielleicht kennen Sie jemanden,
der es bei seinem Vobis-PC nicht benötigt.
Wenn Sie MS-DOS prinzipiell schon einmal gekauft haben, Ihre
Original-Installationsdisketten aber nicht mehr auffindbar oder
defekt sind, dann könnten Sie unter
http://www.8op.com/hoscrew/doslinux.html versuchen, Ihr altes DOS
in Form von 3 Images der Installationsdisketten downzuloaden.
Die preiswerteste Lösung Ihres Problems besteht in der Verwendung
des MS-DOS-kompatiblen Betriebssystems DR-DOS. Hierbei handelt es
sich um ein weiterentwickeltes DOS das ursprünglich von der Fa.
Digital Research entwickelt wurde und anschließend von den Firmen
Novell und Caldera vermarktet wurde. Die Version 7.5 von DR-DOS
können Sie bei http://www.drdos.de/ downloaden.
Unter ftp://ftp.lineo.com/pub/drdos/ können Sie das alte Digital
Research DOS, auch DRDOS oder OpenDOS genannt, das schnell, unkom-
pliziert und kompatibel ist, herunterladen. Die Lite-Version ohne
Novell-Client und ohne Support wird von Lineo.com, einer Tochter
der Firma Caldera, kostenlos vertrieben.
Frage:
--------
Wo gibt es gute deutsche MS-DOS Tutorials?
Ich möchte mehr über MS-DOS erfahren.
Antwort:
---------
Auf meiner MS-DOS Webseite http://www.antonis.de finden Sie über
20 der besten deutschen Tutorials zu MS-DOS und zur Batch-Pro-
grammierung. Hier sind auch viele Links zu weiteren guten DOS-
Seiten aufgeführt. Außerdem können Sie auf dieser Seite die sehr
gute original Microsoft Online-Hilfe zu MS-DOS downloaden.
Frage:
--------
Welche MS-DOS Versionen gab es im Laufe der Jahre ?
Antwort:
--------
Ausschnitte aus verschiedenen Quellen, u.a. einem Artikel von Markus
Fischer auf http://www.hardwaregrundlagen.de/ :
*** Beta-Version
Im Februar 1981 bootete die erste Beta-Version von MS-DOS auf einem
Prototyp des ersten IBM-PC. Dieser konnte dank Microsoft ROM-BASIC
allerdings auch ohne Diskettenlaufwerk hochfahren - so etwas heißt
heute EFI und ist nur auf teuren Servern zu finden...
Microsoft hatte damals das MS-DOS keineswegs selbst entwickelt,
sondern es wenige Monate zuvor als QDOS günstig von dem Programmierer
Tim Patterson eingekauft, um es dann, mit einem kleinen Zubrot, als
PC-DOS 1.0 an IBM zu verhökern.
*** Version 1.0
Im August 1981 gaben IBM und Microsoft mit dem IBM-PC die DOS-Version
1.0 frei. Sie belegte 12 K des Arbeitsspeichers von 64 K. Der Quell-
text bestand aus 4000 Zeilen Assembler-Code. Das Disk Operating System
unterstützte eine einzige, einseitig beschreibbare 5,25-Zoll-Diskette
mit einer Kapazität von 160 KB. Dieses Diskettenformat war eine Neue-
rung, denn andere Mikrocomputer arbeiteten noch mit einer
8-Zoll-Diskette. DOS 1.0 unterstützte nur ein einfaches Dateiverzeich-
nis ohne Unterverzeichnisse.
*** Version l.l
Version l.l wurde von Microsoft im Oktober 1982 zur Unterstützung
von doppelseitigen Disketten mit 320 KB freigegeben. Zusätzlich
wurden einige kleine Fehler behoben.
*** Version 2.0/2.1
Im März 1982 führte IBM mit dem PC/XT den ersten PC mit einer
Festplatte ein. Er wurde mit der neuen DOS-Version 2.0 ausgeliefert.
Sie war völlig neu entwickelt und enthielt viele UNIX-Elemente
(Microsoft war zu dieser Zeit hauptsächlich als UNIX-Distributor
aktiv, mit DOS waren nur vier Programmierer befasst). Das Dateisystem
von DOS entsprach z.B. weitgehend dem von UNIX. Außerdem wurde mit DOS
2.0 ein weiteres Diskettenformat, die 360-KB-Diskette, eingeführt. Der
Umfang des Systems wuchs auf 20.000 Zeilen Assembler-Code. DOS 2.0
verdrängte CP/M und etablierte sich als das führende PC-
Betriebssystem. Die Einführung der Festplatte ermöglichte es zudem,
relativ große Anwendungen zu nutzen, so dass nun auch Unternehmen mit
der Anschaffung von PCs begannen.
*** Version 2.11
Die kurz darauf folgende Version 2.05 unterstützte Uhrzeit, Datum,
Währung und Dezimalsymbole für unterschiedliche Länder. Sie wurde mit
kleinen Änderungen zur Version 2.11 weiterentwickelt und in
Millionenstückzahlen verkauft.
*** Version 3.0
Im August 1984 kam IBM mit dem PC/AT auf den Markt, dem ersten
Personalcomputer, der auf dem Intel-Prozessor 80286 basierte. Der
PC/AT unterstützte Speicher bis zu 16 MB (gegenüber den 640 KB des
Vorgängers) und besaß verschiedene Betriebsmodi. Mit ihm wurde die DOS
Version 3.0 ausgeliefert, die allerdings (bis auf die gesteigerte
Geschwindigkeit) keine der neuen Prozessorfähigkeiten nutzte. DOS 3.0
unterstützte das 1.2-MB-Diskettenlaufwerk, den neuen CMOS-
Konfigurationsspeicher, Festplatten mit einer Kapazität von mehr als
10 MB sowie virtuelle Laufwerke (RAM-Disks). Der Code wuchs auf 40.000
Zeilen an, 30 Mitarbeiter waren jetzt dafür zuständig.
*** Version 3.1/3.2
Im November 1984 wurde die Version 3.0 durch die Version 3.1 ersetzt.
Sie unterstützte erstmals die Vernetzung von PCs. Mit der bald darauf
folgenden Version wurden 3,5-Zoll-Disketten und der IBM Token Ring
unterstützt. Version 3.1 war aber so fehlerbehaftet, dass viele
Anwender bei 3.0 blieben.
*** Version 3.3
1987 führte IBM die Computer der PS/2-Familie sowie DOS 3.3 ein. Diese
Rechner besaßen 3,5-Zoll-Diskettenlaufwerke mit 1.44 MB. Gleichzeitig
brachten IBM und Microsoft mit OS/2 ein vollständig neues
Betriebssystem auf den Markt, das DOS ersetzen sollte.
*** Version 4.0
Obwohl OS/2 in jeder Hinsicht besser war als DOS, konnte es sich nicht
durchsetzten. Statt DOS vom Markt zu nehmen, gab IBM im November 1988
die DOS-Version 4.0. heraus. Eine der großen Verbesserungen in dieser
Version war die Unterstützung von Festplatten bis zu 2 GB. Auch wurde
die Leistungsfähigkeit des Dateisystems gesteigert - obwohl die
Programme nach wie vor auf 640 KB beschränkt waren, konnten jetzt bis
zu 16 MB des erweiterten Speichers für RAM-Platten benutzt werden. Mit
der Version 4.0 begann auch die Unterstützung des VGA-Grafikstandards.
Mit Version DOS 4.0 führte Microsoft auch eine relativ komfortable
Betriebssystem-Oberfläche ein, die "DOS-Shell". Dies war die Antwort
auf den Markterfolg der weitverbreiteten Dateimanager PC-Tools und
Norton Commander. Die DOS-Shell konnte sich jedoch nicht durchsetzen
und verschwand aus späteren DOS-Versionen wieder.
*** Version 5.0
Im April 1991 folgte mit DOS 5.0 eine wesentlich erneuerte Version,
die vollständig den erweiterten Speicher nutzte. Zwar wurde die
Beschränkung der Programme auf 640 KB immer noch nicht überschritten,
aber DOS selbst konnte in den erweiterten Speicher verlagert werden,
so dass nun ca. 600 KB der unteren 640 KB für Benutzerprogramme zur
Verfügung standen. Gerätetreiber ließen sich ebenfalls in den
erweiterten Speicher verlagern. DOS 5.0 stellte außerdem eine neue
Oberfläche zur Verfügung, die es erlaubte, mehrere Programme
gleichzeitig im Speicher zu halten, zwischen denen der Benutzer mit
Hilfe einer Tastenkombination umschalten konnte.
*** Version 6 (Microsoft und IBM)
1993/94 gab IBM die DOS-Version 6.1 heraus; Microsoft Anfang 1994 die
Version 6.2. Beide unterscheiden sich nicht wesentlich. Gegenüber der
Version 5 wurde das System um hinzugekaufte Utilities erweitert.
*** Version 7 (Novell)
Im Februar 1994 stellte Novell die Version 7 vor, die echtes
präemptives Multitasking bietet, mit erweiterten Netzwerkfunktionen
ausgestattet ist und eine optimierte Speicherverwaltung besitzt.
Andere Hersteller boten daraufhin auch ihre 7.X Versionen an, welche
ebenfalls Speicheroptimiert waren.
*** MS DOS 7 (Microsoft)
September 1995: MS-DOS ist nur noch ein "Grundgerüst" von WINDOWS 95
und kein selbständiges Betriebssystem mehr und wird in dieser Form
manchmal auch "MS-DOS 7" genannt und meldet sich auch so auf den
Befehl "VER" .
*** MS-DOS 8.x (Microsoft)
März 1998: Microsoft verabschiedet sich endgültig von seinem ersten
Computer- Betriebssystem. Das Ende für das altgediente System
verkündete Bill Gates Ende März auf der Entwickler-Konferenz WinHEC in
Orlando (Florida). "Windows Me" wird danach die letzte Windows-Version
sein, die auf "MS DOS" (Version 8.x) aufbaut. Zitat Gates "Der Nach-
folger von Windows Me wird eine Art Windows NT für Verbraucher sein".
Es ist aber zu vermuten, das es bei dem Nachfolger von Windows Me
- Arbeitstitel "Whistler" oder "Win.net" eine DOS-Emulation geben
wird, ähnlich wie bei Windows NT/2000.
Frage:
--------
Was für alternative DOS-Betriebssysteme gibt es, die nicht von
Microsoft stammen?
Antwort:
--------
Im Lauf der Jahre gab es die folgenden weitgehend zu MS-DOS
kompatiblen "DOSen":
- DR-DOS von der Firma Digital Research - später übernommen
von Novell, jetzt bein Caldera. Die neueste Version, Caldera
DR-DOS 7.02 von http://www.caldera.com ist für Privatanwender
kostenlos.
- PTS-DOS des russischen Herstellers PhysTechSoft
( http://www.phystechsoft.com/en/ptsdos/ )
- PC-DOS von IBM ist quasi ein um einige Zusatztools erweitertes
MS-DOS. Die neuesten Versionen sind PC-DOS 7 und PC-DOS 2000
- 4DOS - ein leistungsfähigerer Ersatz für den MS-DOS-Kommando-
interpreter COMMAND.COM. Hersteller von 4DOS ist die Firma
JPsoftware ( http://jpsoft.com// )
Frage:
--------
Für ein DOS-Programm benötige ich 550 KB Arbeitsspeicher.
Aber nur 523 KB sind frei.
Ich habe Probleme mit meinem konventionellen Arbeitsspeicher. Für ein
DOS- Programm benötige ich 550 KB. Von den insgesamt 640 KB sind aber
nur 523 KB frei. Welche Programme belegen den restlichen Speicher und
wie bekomme ich ihn frei?
Antwort 1:
----------
Um herauszufinden, welche Programme den Speicher belegen, können Sie
am DOS-Prompt den Befehl "mem /c /p" verwenden.
Falls Sie MS-DOS ab der Version 5.0 verwenden, sollte Sie jetzt
versuchen, möglichst viele dieser Programme und Treiber in den höheren
Speicher oberhalb 640 KB zu verlegen. Gehen Sie hierzu wie folgt vor:
Suchen Sie in den Dateien C:\CONFIG.SYS und C:\AUTOEXEC.BAT nach den
Zeilen, die für das Laden dieser Programme bzw. Treiber zuständig
sind. In der CONFIG.SYS beginnen solche Zeilen meist mit "device=" .
Diese Stellen sollten Sie durch "devicehigh=" ersetzen. In der
AUTOEXEC.BAT können Sie vor Zeilen, die offensichtlich zu geladenen
Programmen gehören, "LH " schreiben (ohne Anführungszeichen mit
anschließendem Leerzeichen). LH steht für LoadHigh.
Wenn das nicht reicht, können Sie ausprobieren, ob einige dieser
Programme vielleicht überflüssig sind. Vor die dazugehörigen Einträge
in den Konfigurationsdateien schreiben Sie probehalber ein REM mit
anschließendem Leerzeichen und starten den Rechner neu. Wenn Sie
sicher sind, dass Sie auf diese Programme verzichten können, können
Sie diese Zeilen auch löschen.
Antwort 2:
----------
Mehr Speicher bereitstellen für DOS-Programme un ter Windows: Falls
Ihnen der für DOS verfügbare Speicher nicht ausreicht, müssen Sie an
den Einstellungen Ihrer DOS-Initialisierung feilen. Am einfachsten ist
der Einsatz des MS-DOS-Einzelanwendungsmodus. In diesem Modus emuliert
Windows einen DOS-Kern, wie es ihn früher selbst noch als Basis
benötigt hat. Das hat allerdings zur Folge, daß Sie in diesem Modus
keine Windows-Applikationen ausführen können.Um eine Anwendung für den
Einzelanwendungsmodus zu konfigurieren, klicken Sie ihr Icon mit der
rechten Maustaste an. Wählen Sie aus dem Kontextmenü den Befehl
Eigenschaften.
Wenn es sich um ein DOS-Programm handelt, können Sie im Dialog
Eigenschaften von [Programm] die Einstellungen des Program Information
File (PIF) ändern. Aktivieren Sie die Registerkarte Programm und
klicken auf Erweitert. Im Dialog Erweiterte Programmeinstellungen
aktivieren Sie das Kontrollkästchen MS-DOS Modus. Es lohnt sich, auch
das Kontrollkästchen Vor Aktivierung warnen anzuklicken. Da Windows
beim Start des Einzelanwendungsmodus alle anderen Anwendungen beendet,
bekommen Sie vorher noch eine Fehlermeldung. Damit der Anwendung der
maximale DOS-Speicher zur Verfügung steht, wählen Sie die Option Neue
MS-DOS-Konfiguration angeben. Sie können jetzt selbst die Einträge der
Dateien CONFIG.SYS und AUTOEXEC.BAT modifizieren und somit das Minimum
an Treibern laden. Es gelten die Bedingungen wie zu alten DOS-Zeiten.
Etwas Unterstützung bekommen Sie noch durch Anklicken der Schaltfläche
Konfiguration. Windows stellt Ihnen dann einen Dialog bereit, in dem
Sie Standardkomponenten auswählen und automatisch in die
Konfigurationsdateien übernehmen können. Wenn Sie die Konfiguration
abgeschlossen haben, bestätigen Sie mit OK und starten die Anwendung.
Achten Sie bitte darauf, die in anderen Programmen eventuell noch
offenen Dokumente zu speichern.
Frage:
--------
Wie kann ich den Speicherplatz für den Umgebungsbereich vergrößern?
Beim Versuch, mit dem DOS-Kommando "SET" Variablen im Umgebungsbereich
anzulegen, bombardiert mein Rechner mich mit der Meldung "Kein
Speicherplatz im Umgebungsbereich".
Antwort:
--------
DOS (beziehungsweise Windows 9x) reserviert normalerweise nur 160
Bytes für Variablen. Wer beispielsweise C-Compiler von der
Kommandozeile aus benutzen will, stößt schnell an diese Grenze, da die
Software Zugriffspfade für Bibliotheken, Include-Dateien und
Hilfsprogramme in Umgebungs-Variablen erwartet. Zur Abhilfe werfen Sie
einen Blick in die Eigenschaften der MS-DOS-Eingabeaufforderung. (Für
Windows 3.x editieren Sie analog die Datei DOSPROMPT.PIF). Erweitern
Sie den Eintrag `Befehlszeile´ für COMMAND.COM um den folgenden
Parameter:
/e:2000
Damit vergrößern Sie den Environment-Speicher der DOS-Box auf 2000
Byte.
Diese Maßnahme vergrößert den Umgebungsspeicher jedoch nur in der DOS-
Box, deren Eigenschaften Sie entsprechend verändert haben. Wenn Sie
den größeren Umgebungsspeicher für den MSDOS-Modus und sämtliche DOS-
Boxen zur Verfügung haben wollen, tragen Sie in der Datei Config.sys
ein:
shell=c:\windows\command.com c:\windows /e:2000 /p
Wenn Sie mehrere Kommandointerpreter benutzen, beispielsweise aus
einer DOS-Anwendung ein DOS-Prompt starten, verhindert der Parameter
/p, daß auch der erste Interpreter mit "Exit" verlassen werden kann.
In diesem Fall würde das System keine Eingaben mehr annehmen. (up)
Frage:
-------
Wie kann ich unter MS-DOS eine Ausgabe-Umleitung realisieren,
bei der die Ausgabedaten in eine Datei statt auf den Bild-
schirm ausgegeben werden?
Antwort:
--------
Wenn man in einem DOS-Fenster die Ausgabe eines Befehls in eine Datei
umleiten will, geht das recht einfach mit dem ">"- Zeichen, zum Bei-
spiel:
fc text1.txt text2.txt > diff.txt
Mit diesem Befehl wird das Ergbnis eines Dateivergleichs (File
Compare)in der Datei diff.txt abgelegt statt die Information auf den
Bildschirm auszugeben.
*** Teilfrage:
Wenn man dies jedoch aus einem Programm heraus versucht, etwa mit dem
SHELL-Befehl von Visual Basic, wird das Aufreihen mehrerer DOS-Befehle
nicht erkannt, und man erhält die Meldung "FC: Too many filenames".
Können Sie mir eine Möglichkeit nennen, die Ausgabeumleitung zu
realisieren?
*** Antwort:
Für das Herausfiltern dieser so genannten Redirections aus der
Kommandozeile ist die eigentliche Shell zuständig, die bei Ihrem
Aufruf gar nicht mehr zum Zuge kommt. Sie müssen daher eine neue
Instanz von command.com starten. Der korrekte Aufruf sieht dann etwa
so aus:
Shell("c:\windows\command.com /c fc.exe " _
& "text1.txt text2.txt > diff.txt")
Frage:
------
Wie kann ich eine "Eingabeumleitung" aus einer Datei bei DOS-Befehlen
realisieren?
Mit solchen "Skript-Dateien" könnte ich die lästigen Abfragen ab-
locken, die z.B. beim Löschen ganzer Verzeichnisse und beim Forma-
tieren von Disketten erforderlich sind.
Antwort 1:
----------
Einige DOS-Kommandos benötigen zum korrekten Funktionieren gewisse
Tastatur- eingaben. Will man z.B. mit DEL *.* alle Dateien im
aktuellen Verzeichnis löschen, so reagiert MS-DOS mit einer
Sicherheitsabfrage, die man mit "j + Enter" oder "n + Enter"
beantworten muß. Ruft man solche DOS-Kommandos z.B. aus einem QBasic-
oder Batch-Programm heraus mit dem SHELL- Befehl auf, so stellt sich
die Frage, wie man diese Tastatureingaben simulieren kann.
Die Lösung liegt in der "Pipe"-Funktion von MS-DOS. Vor das
eigentliche DOS-Kommando setzt man den DOS-Befehl ECHO, gefolgt von
den automatisch zu erzeugenden Eingabezeichen und dem Pipesysmbol "|"
(ASCII-Code 124; in QBasic darstellbar durch chr$(124) ).
*** Beispiel 1
QBasic-Programm zum Löschen aller Dateien im aktuellen Verzeichnis:
SHELL "echo j | del *.*" 'Nach dem del Befehl wird eine Eingabe der
'Zeichen "j + Enter" erzeugt
*** Beispiel 2
QBasic-Programm zum Ausgeben des Kalenderdatums auf den Bildschirm
SHELL "echo.|date" 'Nach dem date-Befehl wird eine Eingabe von
'"Enter" erzeugt
Antwort 2:
----------
Viele MS-DOS Befehle unterstützen ab MS-DOS 6.xx Skript-Dateien. Die
Unterstützten Befehle sind z. B. DIR, FORMAT und FDISK. Um die Skript-
Fähigkeit der Befehle zu nutzen, muß man Skript-Dateien anlegen. Als
erstes muß man sich überlegen, welche Tastaturanschläge über die
Skript-Datei ausgeführt werden sollen. Nun startet man den MS-DOS-
Editor und gibt dort die Befehlsfolgen ein. Spezialtasten und Steue-
rungstasten wie z. B. <ESC> werden eingegeben in dem man
<STRG> + <P> drückt und dann die Taste bzw. Tastenkombina-
tion drückt. Über den Eingabe-Prompt kann man nun den Befehl mit der
Syntax "befehl < skriptdatei" ausführen. Es ist wichtig, daß man im
Verzeichnis ist, in dem die Skript-Datei abgelegt ist oder, daß man die
Skript-Datei mit vollständigem Pfad angibt.
Um Disketten automatisch, ohne weitere Tastaturanschläge zu forma-
tieren, muß man die folgenden Befehle in die Skript-Datei eintragen:
<RETURN>
MS-DOS [Datenträgername!]
<RETURN>
N [Weitere Datenträger Formatieren?]
<RETURN>
Wenn diese Datei nun unter "c:\autoformat.tas" gespeichert wird, kann
man den automatisierten Format-Befehl mit dem Befehl
"format a: < c:\autoformat.tas" starten.
Die Skript-Dateien können viel Tipparbeit im Umgang mit den MS-DOS-
Befehlen erleichtern.
Frage:
-------
Wie kann ich die lästigen Rückfragen beim Löschen ganzer Verzeichnisse
vermeiden?
Wenn man viele Disketten zu löschen hat, ist der Befehl DEL A:\*.*
durch die Frage "Sollen alle Dateien im Verzeichnis gelöscht werden?
(J/N)" sehr umständlich.
Antwort:
--------
Die lästigen Rückfragen können umgangen werden, indem man den Befehl
del a:\?*.* benutzt. Dieser Trick funktioniert auch mit dem Befehl
DELTREE beim Löschen ganzer Verzeichnisbäume inkl. aller
Unterverzeichnisse.
Frage:
--------
Wie kommt es zu den Fehlermeldungen beim Kopieren ganzer
Verzeichnisbäume ?
Wenn ich versuche, unter MS-DOS 6.22 einen Verzeichnisbaum in ein
anderes Verzeichnis umzukopieren, erhalte ich manchmal die
Fehlermeldung `kann Verzeichnis nicht erstellen´. Dasselbe passiert
auch oft, wenn ich ein gezipptes Backup auf einem anderen Rechner in
ein Unterverzeichnis zu entpacken versuche. Auspacken oder Kopieren
ins Wurzelverzeichnis funktioniert jedoch immer.
Antwort:
--------
Wenn Sie zu viele Unterverzeichnisse ineinander schachteln, stoßen Sie
irgendwann an die maximale Pfadlänge Ihres Betriebssystems. Unter DOS
6.22 darf der Pfad zu einer Datei maximal 64 Zeichen lang sein, wobei
die Backslashes (`\´), nicht jedoch der Laufwerksbuchstabe, mitzählen.
Wenn man sich auf einbuchstabige Verzeichnisnamen beschränkt, kann man
somit maximal 32 Verzeichnisse ineinander schachteln, bei längeren
Namen entsprechend weniger.
Windows 95 vermag mit langen Dateinamen umzugehen und läßt auch
längere Pfade zu. Ein Dateiname darf inklusive Pfad bis zu 256 Zeichen
lang sein. Diese Beschränkung ist jedoch an verschiedenen Stellen in
Windows 95 unterschiedlich implementiert. Auf der Befehlszeile gelingt
es, Verzeichnisse mit einer Pfadlänge von bis zu 244 Zeichen
anzulegen, so daß gerade noch Platz für einen klassischen `8-Punkt-3-
Dateinamen´ bleibt. Der Explorer schluckt gar bis zu 252 Zeichen lange
Namen anstandslos. Man kann sogar einen längeren Namen vergeben - ein
so umbenannter Ordner läßt sich jedoch innerhalb des Explorers nicht
mehr anfassen.
Es empfiehlt sich daher, bei den Pfadlängen einen gesunden
`Sicherheitsabstand´ zum Maximum einzuhalten, denn die tatsächliche
Grenze liegt je nach Programm verschieden hoch. Dasselbe gilt übrigens
auch für OS/2 - bis zu 256 Zeichen sind hier theoretisch zulässig. Wer
nach wie vor mit DOS auf seine Partitionen oder Disketten zugreifen
möchte, tut gut daran, sich auf 64 Zeichen lange Pfade zu beschränken.
Frage:
-------
Wie kann ich den Funktionstasten F1...F12 beliebigen
Aufgaben zuordnen ?
Antwort:
--------
MS-DOS nutzt die Funktionstasten [F1] bis [F12] nur minimal. Mit Hilfe
des PROMPT-Kommandos und einiger sogenannter Escape-Codes können Sie
dieses Manko aber leicht beheben und den Funktionstasten beliebige
Aufgaben zuordnen. Am besten ändern Sie gleich die PROMPT-Zeile der
Startdatei AUTOEXEC.BAT. Dann stehen Ihnen nämlich die neuen
Funktionen jederzeit zur Verfügung.
Wollen Sie die Funktionstastenbelegung nur gelegentlich nutzen, können
Sie auch eine kleine Batchdatei erzeugen, die den neuen PROMPT-Befehl
enthält. Somit müssen Sie dann wenigstens nicht jedesmal die ziemlich
lange und etwas kryptische Befehlszeile per Hand eingeben.
Voraussetzung für die Belegung der Funktionstasten mit Kommandos ist
nur, daß in der CONFIG.SYS der Treiber ANSI.SYS geladen wird. Öffnen
Sie mit Hilfe eines Texteditors, wie zum Beispiel »EDIT.COM«, die
Datei »AUTOEXEC.BAT«. Darin suchen Sie den Eintrag, der mit »PROMPT«
beginnt. Zwischen dem Kommando »PROMPT« und den danach folgenden
Zeichen meistens »$P$G« fügen Sie die Escape-Codes ein, die für die
Belegung der Funktionstasten zuständig sind. Die Funktionstasten [F1]
bis [F10] werden durch die Codes »59« bis »68« angesprochen. Dabei
entspricht »59« der Taste [F1], »60« der Taste [F2] und sofort. Über
den Code »133« erreichen Sie die Taste [F11], über »134« die Taste
[F12].
Sie können die Funktionstasten auch mit der [Shift]-, der [Strg]-
oder der [Alt]-Taste kombinieren. Die entsprechenden Codes finden Sie
in der Hilfe-Datei von MS-DOS (HELP ANSI.SYS). Wollen Sie zum Beispiel
den Inhalt des aktuellen Verzeichnisses in sortierter Form auf den
Bildschirm bringen und dabei nach jeder vollen Seite eine Pause
einlegen, so lautet der entsprechende Befehl »DIR/O/P«. Mit dem
folgenden Escape-Code belegen Sie die Funktionstaste [F5] mit diesem
Kommando: »$e[0;63;"DIR/O/P";13p« Soll ein Druck auf die Taste [F6]
eine Diskette in Laufwerk A: formatieren, lautet der Escape-Code
»$e[0;64;"FORMAT A:";13p«. Die komplette Befehlszeile in der
»AUTOEXEC.BAT« würde dann folgendermaßen aussehen: »PROMPT
$e[0;63;"DIR/O/P";13p$e[0;64;"FORMAT A:";13p$P$G« Erscheint bei der
Ausführung dieses Befehls die Fehlermeldung »Kein Speicherplatz im
Umgebungsbereich«, müssen Sie die Startdatei »CONFIG.SYS« noch um den
Befehl »SHELL = C:\DOS\COMMAND.COM C:\DOS /E: 1024 /P« erweitern.
Dieses Kommando stellt mehr Umgebungsspeicher bereit, als
standardgemäß unter MS-DOS verfügbar ist.
Verwenden Sie das Hilfsprogramm DOSKEY (Bestandteil von MS-DOS),
sollten Sie die Funktionstasten [F7], [F8] und [F9] nicht mit eigenen
Befehlen belegen, da dieses Utility selbst von diesen Tasten Gebrauch
macht.
Frage:
-------
Wie kann ich ASCII- und ANSI-Sonderzeichen über
die Tastatur eingeben ?
Für viele Anwender stellt es ein Problem dar, wenn Sie Zeichen
eingeben sollen, die nicht denen der Tastenbeschriftung entsprechen.
Dies Problem tritt bei Sonderzeichen auf und wenn in der DOS-Box von
Windows der deutsche Tastaturtreiber fehlt.
Antwort:
--------
Unabhängig vom Tastaturtreiber und Programm lassen sich alle ASCII-
und ANSI-Zeichen über Zifferncodes eingeben. Halten Sie dazu die
"Alt"-Taste gedrückt, und geben Sie die ASCII- bzw ANSI-Codenummer des
gewünschten Zeichens am numerischen Zifferntastenblock ein. Der ASCII-
Zeichencode wird unter MS-DOS verwendet, der ANSI-Code unter Windows.
Dabei gibt es zwei Probleme: Während die meisten Anwendungen diese
Eingaben in jedem Fall annehmen, muss bei einigen anderen über die
"Num"-Taste die Ziffernfunktion des numerischen Tastenblocks aktiviert
sein. Auf einer Standard-Tastatur leuchtet in diesem Fall eine
entsprechende LED. Sorgen Sie also dafür, dass "Num" aktiviert ist.
Eine zweite Schwierigkeit besteht darin, dass manche Programme zwei-
oder dreistellige Codes partout als drei- oder vierstellige
Ziffernfolgen übergeben haben wollen. Sollte also die Eingabe von "Alt
+ 9 + 2" (ASCII und ANSI-Code für das Backslash-Zeichen "\") nicht
funktionieren, veruchen Sie es mit "Alt + 0 + 9 + 2" oder gar mit "Alt
+ 0 + 0 + 9 + 2".
Eine komplette ASCII-Tabelle finden Sie auf http://www.antonis.de
unter "Download, Tools für Programmierer". Beim ASCII-Code ist zu
beachten, dass die oberen 128 Zeichen länderspezifisch sein können.
Eine ANSI-Codetabelle bringt das Windows- Systemprogramm CHARMAP.EXE
("Zeichentabelle") zur Anzeige, das Sie entweder über die
Systemsteuerung oder über "Programme, Zubehör, Zeichentabelle"
aufrufen können. Über die Zeichentabelle erhalten Sie auch Zugriff
auf die speziellen Sonderzeichen, z.B. einen Pfeil, von
Schmuckschriften wie "Windings".
Frage:
-------
Wie kann ich auf früher eingegebene Befehle zuzugreifen und
mir die Arbeit des Neu-Eintippens ersparen ?
Antwort:
--------
Das Utility »DOSKEY.COM« von MS-DOS erlaubt Ihnen, auf früher
eingegebene Befehle zuzugreifen, die seit dem letzten Einschalten des
Rechners abgeschickt wurden. Mit Hilfe der Aufwärts- und Abwärts-
Cursor-Tasten können Sie durch sämtliche gespeicherten Befehle
blättern. Die horizontalen Cursor-Tasten erlauben es Ihnen, sich in
dem aktuellen Inhalt der Kommandozeile zu bewegen und sie somit
erheblich komfortabler zu editieren als ohne DOSKEY.
Mit der Funktionstaste [F7] bringen Sie eine komplette Liste aller
bisher eingegebenen Kommandos auf den Bildschirm, die sich im DOSKEY-
Speicher befinden. Nach dem Betätigen von [F9] können Sie einen Befehl
dieser Liste direkt auswählen. Geben Sie dazu die Nummer des
entsprechenden Kommandos ein. Die Tastenkombination [Alt]-[F7] löscht
die Liste sämtlicher gespeicherten Befehle.
Das Hilfsprogramm DOSKEY hat aber auch einen Nachteil: Es belegt
wertvollen Arbeitsspeicher. Wenn Sie auf jedes Kilobyte Speicher
angewiesen sind oder den Komfort des Utilities DOSKEY nicht benötigen,
können Sie aber zumindest das zwar ziemlich schwache, aber dafür immer
vorhandene Gedächtnis von MS-DOS nutzen. Ein Druck auf die [F3]-Taste
schreibt den letzten Befehl komplett in die Kommandozeile. Mit [F1]
können Sie das zuletzt eingegebene Kommando Buchstabe für Buchstabe
auf den Bildschirm bringen. [F2], gefolgt von einem Buchstaben,
reproduziert den letzten Befehl bis zu genau diesem Zeichen. Lautete
dieser zum Beispiel »DIR BILDER«, schreiben [F2] und ein Druck auf die
Leertaste die Zeichenfolge »DIR« in die Kommandozeile.
Frage:
-------
Meine neue MS-DOS Textverarbeitung kann keine DOS-ASCII-Text mehr
einlesen.
Word 97 konvertiert seit kurzem beim Öffnen von Dateien diese nicht
mehr von MS-DOS nach ANSI. Ich kann aber nirgends einen Konverter zum
Nachinstallieren finden.
Antwort:
--------
Das Problem tritt ab WORD 97 auf und ist leicht zu umgehen.
*** Lösung 1
Ändern Sie die Dateierweiterung "TXT" in "ASC", dann konvertiert Word
die Datei beim Öffnen automatisch in das Windows ANSI-Format
*** Lösung 2
Der Konverter ist bereits installiert, Sie müssen ihn nur unter
‘Extras/Optionen/Allgemein’ mit dem Schalter ‘Konvertierung beim
Öffnen bestätigen’ aktivieren. Danach fragt Sie Word beim Öffnen
einer txt-Datei, in welchem Format genau diese vorliegt ("Nur Text",
entspricht ANSI-Text oder "MS-DOS-Text" entspricht ASCII.Text etc.).
Übrigens: Eine falsche Entscheidung - egal bei welchem Format - hat
keine Folgen. Sie dürfen den Text nur nicht speichern. Schließen Sie
ihn umgehend und öffnen Sie ihn erneut - diesmal mit dem richtigen
Filter.
Frage:
-------
Wie kann ich alle DOS-Programme unter Windows
identisch konfigurieren ?
Sie haben für Ihre DOS-Eingabeaufforderung die geeigneten
Einstellungen gefunden. Doch andere DOS-Programme richten sich nicht
danach, sondern starten mit eigenen Werten, zum Beispiel für Fenster-
und Schriftgröße
Antwort:
--------
Kopieren Sie die Datei
\Windows\Startmenü\Programme\MS-DOS-Eingabeaufforderung.pif nach
\Windows\_default.pif. Nun verhalten sich alle DOS- Programme
einheitlich, für die Sie keine eigenen Einstellungen festgelegt haben.
Fage:
--------
Ich erhalte falsche Grafikzeichen im DOS-Fenster !
Immer, wenn ich den Norton Commander oder Telix in einem DOS-Fenster unter
Windows 95 laufen lasse, stimmt die Darstellung einiger Rahmenelementsymbole
an den Fensterrändern nicht.
Antwort 1:
----------
Die Darstellung falscher Grafikzeichen im DOS-Fenster läßt auf eine
falsch eingestellte Codepage schließen. Sie muß von der standardmäßig
eingestellten Codepage 850 auf 437 geändert werden. Dazu ist das
gesamte Verzeichnis Changecp von der Windows-Installations-CD in das
Windows-Verzeichnis auf der Festplatte zu kopieren und changecp.exe zu
starten.
In Windows 98 hat Microsoft den `Fehler´ endlich beseitigt. Damit
zeigt die DOS-Box auch bei aktiver Codepage 850 alles richtig. Genauer
gesagt erfolgt die Festlegung der Grafikzeichen korrekterweise nicht
mehr über unergründliche Windows-Mechanismen, sondern über die in den
DOS-Startdateien definierten Einträge. Da der Eintrag `Mode con
codepage prepare´ in der autoexec.bat von vielen Anwendern gleich als
erstes gelöscht wird, ist in der config.sys auf jeden Fall auf die
korrekte Ländertabelle zu achten. Die erledigt der Eintrag
`Country=049,850,C:\WINDOWS\COMMAND\country.sys´. Wird `850´ durch das
bisher nötige `437´ ersetzt, kommt es wieder zu einer falschen
Darstellung.
Antwort 2:
----------
Versuchen Sie durch eine Änderung in den »Ländereinstellungen« der
»Systemsteuerung« die Code-Seite für die »MS-DOS-Eingabeaufforderung«
zu ändern, werden Sie damit keinen Erfolg haben. Die
»Ländereinstellungen« in der »Systemsteuerung« von Windows 95 wirken
sich nämlich nur auf die Code-Seite der Windows-Programme aus. Für MS-
DOS-Anwendungen und die »MS-DOS-Eingabeaufforderung« wird weiterhin
die Code-Seite verwendet, die während des Windows-Setups installiert
wurde. Windows 95 selbst bietet keine Möglichkeit, die von MS-DOS
verwendete Code-Seite nachträglich zu ändern. Sie können jedoch das
Programm CHANGECP.EXE zum Ändern der Code-Seite für DOS-Anwendungen in
der »MS-DOS-Eingabeaufforderung« verwenden. Dieses Programm nimmt alle
Änderungen bezüglich der Schriftarten in der Registrierdatenbank und
in den anderen Konfigurations-Dateien vor.
Sie finden das Utility CHANGECP.EXE und die dazugehörenden Dateien im
Verzeichnis OTHER\CHANGECP der Windows-95-CD-ROM. Das Programm
CHANGECP ist vor allem dann hilfreich, wenn Sie einen anderen als den
standardmäßig von Windows 95 verwendeten Zeichensatz einsetzen
möchten. Eine andere Code-Seite wird auch dann benötigt, wenn nach der
Installation von Windows 95 innerhalb von MS-DOS Anwendungen falsche
Zeichen auf dem Bildschirm erscheinen. Allerdings scheint der Einsatz
dieses Utilities auch mit einigen Gefahren verbunden zu sein. Bei
Testläufen konnten jedoch keine Probleme festgestellt werden. Dennoch
sollten Sie Vorsicht walten lassen und sicherheitshalber vor seinem
Start ein Backup wichtiger Dateien anfertigen.
Um die Code-Seite für MS-DOS Anwendungen zu ändern, kopieren Sie die
Datei CHANGECP.EXE aus dem Ordner OTHER\CHANGECP der CD-ROM, sowie
sämtliche Dateien im Verzeichnis OTHER\CHANGECP\SUPPORT in das lokale
Windows-95- Verzeichnis Ihrer Festplatte, das normalerweise die
Bezeichnung C:\WINDOWS trägt. Danach geben Sie in der »MS-DOS-
Eingabeaufforderung« den Befehl »CHANGECP« ein. In der darauf
erscheinenden Liste können Sie die gewünschte Code-Seite auswählen.
Kennen Sie die Nummer der gewünschten Code-Seite, dann können Sie
diese auch direkt in der Kommandozeile angeben. Der entsprechende
Befehl lautet »CHANGECP Code- Seiten-Number«. Das Programm nimmt dann
automatisch die erforderlichen Systemänderungen vor. Nach dem nächsten
Start von Windows 95 wird die neue Code-Seite für alle MS-DOS-Fenster
verwendet.
Frage:
--------
Wie kann ich mehrere Dateien mit gleicher Dateierweiterung über ein
Batch-Programm in einer Schleife bearbeiten?
Ich muß des öfteren Dateien konvertieren, z.B. Datendateien (.svg)
mittels eines Programmes in ein anderes Format (.srg) bringen. Zur
Zeit rufe ich das Konvertierungs-Programm c2s.exe samt Parameter dazu
einzeln auf. Gibt es so etwas wie eine automatische Kommando-
Stapelverarbeitung?
Antwort:
---------
Benutzen Sie am einfachsten eine Schleifen-Anweisung in einer Batch-
Datei:
for %f in (*.svg) do c2s.exe %f
Diese Anweisung führt für jede .svg-Datei im aktuellen Verzeichnis
einzeln den Befehl hinter dem do-Statement aus; in diesem Fall also
das Programm c2s.exe mit dem Namen der zugehörigen .svg-Datei als
erstem Parameter.
Nicht ganz so einfach ist die Aufgabe, wenn Ihr Programm beim Aufruf
unbedingt den Namen der Ausgabedatei als Parameter benötigt. In
solchen Fällen hilft der alternative Kommandozeilen-Interpreter 4DOS.
Dort sieht der Befehl dann beispielsweise so aus:
for %f in (*.svg) do c2s.exe %f @%name[%f].srg
Ergänzend zur oben genannten Form setzt dieser Aufruf aus dem
Namensanteil der .svg-Datei durch Anfügen von `.srg´ einen zweiten
Parameter zusammen.
4DOS oder die besser an Windows angepaßte Version TakeCommand finden
Sie im Internet über die URL http://www.jpsoft.com. Die Software
existiert in den verschiedenen Versionen für DOS, Windows und OS/2.
Frage:
-------
Wie kann ich das Flimmern meines Monitors unter MS-DOS verhindern?
Gelegentlich benutze ich DOS-Programme auf meinem Rechner. Wenn ich
sie im Vollbild laufen lasse, flimmert mir das Bild mit 60 Hz
entgegen. Wie kann ich meine Grafikkarte auf eine höhere
Bildwiederholfrequenz konfigurieren?
Ich möchte gerne eine ergonomische Bildwiederholfrequenz erreichen?!
Antwort:
--------
Idealerweise legt der Hersteller ein Tool bei, mit dem sich die
Bildwiederholfrequenz der Grafikmodi auch unter DOS einstellen lässt.
Der Textmodus arbeitet mit 70 Hz, hier ist eine Anpassung überflüssig.
Wer kein karteneigenes Tool zur Verfügung hat, kann auf VBEHz
zurückgreifen. Es stellt Grafikkarten mit VESA-BIOS-Extensions ab
Version 3.0 auf höhere Bildwiederholfrequenzen für die VESA-Grafikmodi
ein. Programme mit Standard-VGA-Auflösung (640 x 480 in 16 Farben)
lassen sich damit aber nicht umstellen, diese flimmern weiterhin mit
60 Hz. Sie finden die Freeware unter
http://www.informatik.fh-muenchen.de/~ifw98223/vbehz.htm.
Frage:
--------
Mein Computer ist zu schnell. Wie kann ich ihn ausbremsen?
Ich setze auf meinem neuen Rechner seit einigen Jahren eine DOS-DTP-
Software ein, die durch ein Dongle geschützt wird. Leider läßt sich
die Software nicht mit meinem neuen Pentium-Rechner zum Laufen
bringen. Auf meinem 486er ging es noch, wenn der Rechner nicht im
Turbo-Modus startete; ein entsprechender Schalter fehlt jedoch am
neuen Gerät.
Antwort:
--------
Ältere DOS-Software läßt sich auf neuen Rechnern oft nur zum Laufen
bringen, wenn Sie den Rechner gezielt ausbremsen. Da der Turbo-
Schalter inzwischen der Rechner-Evolution zum Opfer gefallen ist,
müssen Sie sich anderer Mittel bedienen. Neben einem rabiaten
Abschalten des internen Prozessorcaches über das BIOS-Setup gibt es
auch Programme wie Schnecke (ftp.onix.de oder ftp.wofa-soft.de), die
den Rechner verlangsamen können. Diese Software funktioniert leider
nicht immer und kann manche Programme auch zum Absturz bringen. Bei
einigen BIOS-Varianten läßt sich die Systemgeschwindigkeit auch per
Ctrl-Alt-Plus und Ctrl-Alt-Minus umschalten, solange der Rechner noch
im Real-Modus läuft und kein Tastaturtreiber geladen ist.
Frage:
---------
Mein Computer meldet "falsche DOS-Version" !
Bei der Arbeit mit mehreren Computern wird man häufig mit der
unangenehmen Meldung `Falsche DOS-Version´ konfrontiert.
Antwort:
--------
Viele Programme verlangen eine bestimmte DOS-Version, obwohl sie auch
unter anderen lauffähig wären. Damit Programme unter einer
vermeintlich falschen DOS-Version ablaufen können, muß das Programm
Setver geladen sein. Setver verwaltet eine erweiterbare Liste von
Programmen und deren Versionsnummern. Ein einfacher Aufruf von Setver
gibt die aktuell unterstützten Programmnamen aus. Durch die Eingabe
von Setver <Programm> <Versionsnummer> fügt man dieser Liste
ein Programm hinzu. Nach Möglichkeit erstellt man sich ein
umfangreiches Setver und hat es auf einer entsprechenden Bootdiskette
sowie auf allen Rechnern.
Frage:
--------
Wozu ist die Batch-Sprache gut ?
Antwort:
--------
Bei der Arbeit mit einem Betriebssystem gibt es für Anwender und
besonders für Administratoren immer wieder zeitaufwändige Routine-
arbeiten mit immer denselben DOS-Befehlssequenzen, die sich automati-
sieren lassen. Zahlreiche Befehle werden an der Kommandozeile in einer
logischen Reihenfolge eingegeben und vom System verarbeitet.
Zur Automatisierung solcher "Jobs" gibt es in nahezu jedem
Betriebssystem eine Möglichkeit, die wiederkehrenden Abläufe
mit einer "Script-Sprache" in kleinen Programmen (Scripts) zu
formulieren, die beim Starten des Scripts selbständig ablaufen.
In MS-DOS, Windows 95/98 oder Windows NT werden diese Befehls-Scripts
als Batch-Files bezeichnet, in der deutschen Übersetzung "Stapelver-
arbeitungsdateien". Diese Bezeichnung ist durchaus treffend, da es
sich bei einer Batch-Datei um einen Stapel von Befehlen handelt,
der nach und nach abgearbeitet wird.
Die Grundlagen für die Erstellung einer Batch-Datei sind auf jeden PC
verfügbar. Sie benötigen einen Text-Editor, in dem Sie eine Datei als
reinen ASCII-Text speichern können. Verwenden Sie dazu am besten den
Editor von MS-DOS (EDIT.COM) oder Windows 95/98 bzw. Windows NT.
Alternativ können sie auch den Editor von Windows (NOTEPAD.EXE) ver-
wenden, beachten Sie aber, dass Windows den ANSI-Zeichensatz verwendet
- dies wirkt sich bei Sonderzeichen und Umlauten in Bildschirm-
Meldungen aus.
Alle Batch-Dateien haben die Dateierweiterung ".BAT" und werden von
einem Kommando-Interpreter verarbeitet.
Bei MS-DOS und Windows 95/98 ist dies COMMAND.COM, bei Windows NT
CMD.EXE. Darum brauchen Sie sich aber nicht zu kümmern. Wenn sie eine
Stapelverarbeitungsdatei starten, wird vom Betriebssystem automatisch
der passende Interpreter aktiviert.
Und nun ein einfaches Beispiel für eine Batch-Datei:
Um die Einstellung eines seriellen Druckers mit MODE zu vereinfachen
könnten Sie in eine Datei DRUCKER.BAT schreiben:
MODE COM1 baud=9600 parity=N data=8 stop=1
MODE LPT1=COM1
Somit würde es genügen den Befehl DRUCKER einzugeben, statt jedesmal
die beiden obigen Zeilen.
Frage:
--------
Wo erfahre ich mehr über die Batch-Sprache?
Antwort:
--------
Viele Informationen über die Batchprogrammierung erhalten Sie auf
meiner MS-DOS Seite unter http://www.antonis.de/dos.htm . Dort können
Sie zahlreiche Tutorials, Handbücher, Befehlsrefrenzen und
Beispielprogramme zur Batchprogrammierung online lesen und downloaden.
Frage:
--------
Wie vermeide ich den berüchtigten "Runtime-Error 200" bei alten Turbo-
Pascal DOS-Programmen auf schnellen Rechnern ab 266 MHz ?
Antwort:
--------
(von http://www.heise.de/ct/faq/ )
Mit dieser Meldung verweigern DOS-Programme auf schnelleren PC-
Systemen ihren Dienst, wenn sie mit Borland-Pascal kompiliert worden
sind. Schuld ist eine schlampige Programmierung der Initialisierung
für die Delay-Routine in der Unit CRT, die bei schnellen Prozessoren
überläuft und den Runtime-Fehler provoziert. Der Effekt ist nicht neu,
er trat schon bei Pentium-II-Systemen ab etwa 266 MHz auf. c't hatte
schon vor drei Jahren unter ‘Borlands Zeitbombe’ (c't 7/97, Seite 232)
auf diesen Fehler bei der Division hingewiesen und für Programmierer
eine verbesserte CRT-Routine vorgestellt, die 32-bittig dividiert und
die erst bei Pentium-II-Systemen ab etwa 256 GHz überläuft. Um sie
nutzen zu können, braucht man aber den Sourcecode der betreffenden
Programme und den Borland-Pascal-Compiler.
Oft liegt jedoch vom Programm nur der ausführbare Binärcode (EXE) vor.
Hier half damals ein einfacher Patch weiter, der in den EXE-Dateien
ein Byte änderte und so den schuldigen Teilerwert von 55 auf 110
verdoppelte, was den Überlauf erst mal verhinderte - wenn auch mit dem
Nebeneffekt, dass gleichzeitig die Delay-Dauer halbiert wird. Statt
1000 ms wartete dann ein Delay (1000) nur noch 500 ms.
Doch mit Pentium II oder Athlon ab 550 MHz und schneller reicht nun
der Teilerwert 110 nicht mehr aus: das Runtime-Error-Spielchen
wiederholt sich aufs Neue. Man kann nun höhere Werte für den Teiler
einpatchen. Mit maximal 255 reichts etwa bis zu den Gigahertz-
Prozessoren. Da der Teiler 16-bittig ist, kann man schließlich auch
das nächste, höherwertig Byte patchen und hat dann Reserve bis etwa
256 GHz. Dummerweise wird dadurch aber die Delay-Dauer immer kürzer
und kürzer, was mitunter neue Probleme aufwirft.
Die Zeitschrift c't hat daher einen anderen, etwas aufwändigeren Patch
entwickelt, der die Delay-Funktion nicht beeinflusst. Er ist derzeit
zwar nur bis etwa 3 GHz Pentium II/III tauglich, aber das dürfte erst
mal reichen. Das Programm BPPatch2.exe
(auf www.heise.de/ct/ftp/ctsi.shtml) vereinfacht auch die Bedienung.
Es erkennt, ob es sich bei einem vorliegenden EXE-Programm um Borland-
Pascal 7/7.01, TP 6, TP5.x oder TP4 handelt, ob es die CRT-Unit
benutzt, ob diese bereits gepatcht oder mit der ‘überlaufsicheren’
c't-CRT-Unit kompiliert wurde. Im Trefferfall fragt es nach, ob es das
Programm nach der neuen oder der alten Methode oder gar nicht patchen
soll.
BPPatch2 unterstützt auch Wildcards (nur 8.3-Dateinamen), sodass man
mit BPPatch2 *.EXE schnell ein ganzes Verzeichnis auf alte Borland-
Programme überprüfen kann. Wie der DIR-Befehl kennt es Parameter wie
/P (auf Taste warten) oder /D (rekursiv durch Unterverzeichnisse).
*** Hinweis 1
Die hier beschriebenen Patches zur "Bekämpfung" des "Runtime-
Error 200" Problems können Sie auf der Homepage des Heise-Verlages
downloaden ( http://www.heise.de/ct/ ) .
*** Hinweis 2
Die Patches versagen natürlich, wenn das EXE-Programm durch EXE-Packer
wie EXEPACK oder PKlite komprimiert wurde. Vor der Anwendung des
Patches müssen solche Programme erst entpackt werden.
Frage:
---------
Wie nutze ich den DOS-Befehl DOSKEY und was hat dieser für nicht
dokumentierte Features?
Antwort:
--------------------------------
Wenn Sie häufig die MS-DOS-Eingabeaufforderung verwenden,
empfiehlt sich dringend der Einsatz von Doskey, damit Sie die
Kommandozeilen-Wiederholung nutzen können. Die bekannten
Parameter für dieses nützliche Hilfsprogramm reichen Ihnen aber
nicht.
Neben den bekannten Aufrufparametern, die Sie mit dem Befehl
"doskey /?" erfahren, bietet das Programm einige
undokumentierte Optionen. Wenn Sie sich etwa häufig in die
Tiefen des Systems begeben und mit Hilfe des Programms
DEBUG.EXE Byte-Manipulationen vornehmen, ist für Sie der
Parameter "doskey /appedit" interessant.
Wenn Sie Doskey so aufgerufen haben, können Sie mit der <Cursor
oben>-Taste auch innerhalb von Debug dort bereits abgesetzte
Kommandos wiederholen und editieren. Das Gleiche gilt für alle
anderen MS-DOS-Programme, die einen eigenen Prompt besitzen,
etwa den Editor Edlin.
Ein weiterer undokumentierter Parameter ist "/permanent". Er
bewirkt, dass sich ein geöffnetes DOS-Fenster nicht mehr über
den Befehl "exit" schließen lässt. Das ist nützlich, wenn Sie
kompliziertere Batchdateien programmieren: So verhindern Sie,
dass durch einen "exit"-Befehl zu viel, gleich Ihr gesamtes
DOS-Fenster verschwindet.
Über den Button "Schließen" können Sie es immer noch beenden.
Frage:
--------
Wie kann ich Umgebungsvariablen unter Windows 9x ändern?
Gibt es eine Möglichkeit, in Windows 9x die DOS-Umgebungsvariablen
nach dem Systemstart nachträglich so zu ändern beziehungsweise neu zu
erstellen, daß sie systemweit zur Verfügung stehen?
Antwort:
--------
Ein Utility zur Bearbeitung von globalen Umgebungsvariablen in einer
DOS-Box wird von Microsoft auf CD mitgeliefert. Das Programm `winset´
arbeitet genauso wie das bekannte set. Es kann Variablen allerdings
nur setzen; zur Anzeige müssen Sie weiterhin set benutzen. Die
Änderungen wirken sich nur in neu geöffneten DOS-Boxen aus.Winset.exe
finden Sie auf Windows-95-CDs unter \admin\apptools\envvars, auf der
Windows-98-CD unter \tools\reskit\scrpting.
Frage:
--------
Bei dem Versuch ein Dateiattribut zu ändern, kommt
es zu einer Fehlermeldung !
Antwort:
--------
Wenn Sie versuchen, die Attribute einer Datei zurückzusetzen, kann es
zu einer Fehlermeldung kommen. So erhalten Sie normalerweise nach dem
Versuch, eine Systemdatei von MS-DOS mit dem Befehl »ATTRIB MSDOS.SYS
-H« sichtbar zu machen, die folgende Fehlermeldung: »Systemdatei
C:\MSDOS.SYS wird nicht zurückgesetzt«. Ist eine Datei gleichzeitig
mit den Attributen "System" und "Hidden" ("Versteckt") ausgestattet,
weigert sich DOS, ein einzelnes Attribut zu verändern, und es kommt zu
der entsprechenden Fehlermeldung. MS-DOS ändert diese beiden Attribute
nur gemeinsam. Um die erwähnte Systemdatei sichtbar zu machen, muß
also auch ihr "System"-Attribut gelöscht werden. Der Befehl müßte
lauten: »ATTRIB MSDOS.SYS -H -S«.
Gleiches gilt auch, wenn eine Datei zusätzlich den "Nur-lesen-Status"
in Form des "Read only"-Attributs besitzt. In diesem Fall müssen Sie
sie zuerst von dem Zweierpack "Hidden" und "System" befreien. Erst
dann oder auch gleichzeitig können Sie sich an dem "Read only"-
Attribut zu schaffen machen.
Wesentlich komfortabler können Sie vor allem in solchen Fällen die
Dateiattribute zum Beispiel mit dem Norton Commander manipulieren.
Dieses Hilfsprogramm ermöglicht es, jedes Attribut jeder Datei einzeln
zu setzen oder zu löschen.
Frage:
--------
Mein Rechner hängt beim Windows-Start in einer DOS-Dauerschleife !
Nachdem ich auf meinem Windows-95-Rechner das DOS-Spiel `The
incredible Machine´ installiert habe, startet Windows 95 nur noch im
DOS-Modus. Egal welche Auswahl ich im Bootmenü treffe, landet das
Betriebssystem auf der Kommandozeile von DOS 7. Welche Startdatei
respektive welcher Eintrag ist für diese DOS-Schleife beim Hochfahren
des Rechners verantwortlich?
Antwort:
----------
Viele ältere DOS-Spiele fügen einen zusätzlichen Parameter in die
Config.sys von Windows 95 ein. Der Eintrag lautet DOS=SINGLE. Entfernt
man diesen Parameter aus der Startdatei, bootet Windows 95 wie eh und
je. Der Spielspaß leidet nicht unter dem nunmehr fehlenden Eintrag -
`The incredible Machine´ läßt sich auch weiterhin im DOS-Modus
aufrufen.
Frage:
--------
Wie kann ich mein störrisches DOS-Spiel unter Wndows 9x
zum Laufen bringen?
Antwort:
--------
Generell gilt: Die automatischen Einstellungen von Windows 95 für den
konventionellen Speicher sind meist passend, nur exotische DOS-
Programme, darunter einige Spiele, machen Ärger. Sie wollen mehr von
einem bestimmten Speichertyp. Derartige Wünsche befriedigen Sie über
den Speicherkonfigurations-Dialog der MS-DOS-Eingabeaufforderungs-
eigenschaften oder im Kontextmenü das Spielprogramms, das über die rechte
Maustaste erreichbar ist. Hier Tips, welche Einstellungen ratsam sind:
*** EMS
Dies ist eine veraltete, langsame Speicherverwaltungsmethode. Sie
sollte nur dann aktiviert werden, wenn ein altes DOS-Programm
ausdrücklich danach verlangt!
Wenn Sie allerdings in der CONFIG.SYS den EMM-Treiber mit der Option
NOEMS starten, um mehr DOS-Speicher zu erhalten, kann sich Windows 95
nicht darüber hinwegsetzen. Wenn Sie also mit einer Startdatei
CONFIG.SYS arbeiten und ein DOS-Programm EMS-Speicher benötigt, dürfen
Sie den Schalter NOEMS nicht setzen. Arbeiten Sie ohne CONFIG.SYS,
kann Windows 95 der speicherhungrigen Anwendung beliebig viel EMS-
Speicher zur Verfügung stellen.
*** XMS
Auch hier gilt: Verlangt ein altes DOS-Programm ausdrücklich XMS-
Speicher, dann geben Sie ihm ein Viertel bis zur Hälfte des
verfügbaren RAM das reicht in der Regel.
*** DPMI
Dies ist die modernste Speicherverwaltung für DOS; viele moderne
Actionspiele arbeiten im Protected Mode. (DPMI = DOS Protected Mode
Interface.) 16 Megabyte sollten hier ausreichen, um maximale Leistung
zu erhalten.
Achtung: In allen Fällen können Sie auch mehr Speicher
eintragen, als tatsächlich physikalisch installiert ist. Dann
verwendet Windows 95 seine Auslagerungsdatei, um diese
Speicheranforderung virtuell zu erfüllen. Das bremst natürlich die
Ausführungszeit extrem ab. Vermeiden Sie also lieber, DOS-Programmen
mehr Speicher zuzuordnen, als im PC installiert ist.
Frage:
--------
Meine Datei lässt sich in der DOS-Box von Windows 95 nicht drucken !
Beim Versuch, aus der DOS-Box von Windows 95 mit `copy datei lpt1´ zu
drucken, bekomme ich manchmal trotz korrekter Anmeldung (Zuordnung)
des Druckers nur die Fehlermeldung `Pfad nicht gefunden - lpt1´.
Antwort:
--------
Beim Versuch, aus der DOS-Box von Windows 95 mit `copy datei lpt1´ zu
drucken, bekomme ich manchmal trotz korrekter Anmeldung (Zuordnung)
des Druckers nur die Fehlermeldung `Pfad nicht gefunden - lpt1´.
Es handelt sich hierbei offenbar um einen Windows-95-Bug. Dieser
Fehler tritt immer dann auf, wenn der Pfad zum aktuellen
Arbeitsverzeichnis einen langen Dateinamen enthält und beim
Verzeichniswechsel (cd) der volle Bezeichner benutzt wurde. Der Pfad
zur Druckdatei darf hingegen ohne weiteres einen Windows-95-Namen
enthalten.
C:\>cd temp\Unterverzeichnis\sub
C:\temp\Unterverzeichnis\sub>
copy D:\dok\langername\test.txt lpt1
Pfad nicht gefunden - lpt1
0 Datei(en) kopiert
C:\temp\Unterverzeichnis\sub>
cd \temp\Unterv~1\sub
C:\temp\Unterverzeichnis\sub>
copy D:\dok\langername\test.txt lpt1
1 Datei(en) kopiert
Um den Fehler zu umgehen, genügt es, das Arbeitsverzeichnis zu
wechseln oder beim `cd´ den DOS-Namen (mit Tilde) zu verwenden -
Anführungszeichen um lange Namen zeigen keine Wirkung.
Frage:
--------
Wie kann ich lange Dateinamen unter DOS verwenden?
Antwort:
--------
I) Lange Dateinamen unter DOS
Ich möchte eine Datei mit langem Namen auf eine Diskette kopieren. Um
mir den zeitaufwendigen Windows-Start zu ersparen, möchte ich nur DOS
starten. Gibt es eine Möglichkeit, auch von DOS auf die Dateien und
ihre langen Dateinamen zuzugreifen?
Das eingebaute DOS von Windows 95 kann nur in der DOS-Box unter der
Arbeitsoberfläche mit langen Dateinamen umgehen. Eine Alternative zum
langatmigen Windows-Start bietet Caldera DR-DOS 7.02 mit einer Beta-
Version des Tools Longname.exe, das einen Zugriff auf die langen
Dateinamen auch von DOS aus ermöglicht. Longname läuft nicht unter MS-
DOS 7.x. DR-DOS läßt sich jedoch parallel zu Windows 95 installieren.
Die Installation muß dabei aber nach der von
Windows 95 erfolgen, da die Dual-Boot-Funktion von MS-DOS 7.x nicht
mit DR-DOS 7.02 zusammenarbeitet. Beim Systemstart bietet der Caldera-
Bootloader dann die Auswahl zwischen DR-DOS und Windows 95.
Betriebssystem und Tool sind für den privaten Gebrauch kostenlos und
stehen unter http://www.caldera.com zum Download bereit.
(II) Lange Dateinamen in der DOS-BOX
Da gibt es sie nun, die langen Dateinamen unter Windows 95. Doch was
passiert im DOS-Fenster, wenn (aus welchen Gründen auch immer) eine
dieser langnamigen Dateien kopiert oder verschoben werden muß? DOS
vergibt ja manchmal recht kryptische `Verkürzungen´.
Probleme gibt es nur im `echten´ DOS, also auch dann, wenn man Windows
95 per `Beenden in den MS-DOS-Modus´ hinabsteigen läßt. Auf dieser
Ebene läßt sich nur mit verkürzten Alias-Namen operieren. Innerhalb
von Windows 95 in den DOS-Boxen gibt es jedoch Unterstützung für lange
Dateinamen. Allerdings sind einige Feinheiten zu beachten: Es sind
sowohl lange Dateinamen und solche aus mehreren Worten handlebar, wenn
man sie in Anführungszeichen setzt:
md c:\"Peters Ordner"
oder
copy c:\autoexec.bat a:\"Peters Ordner"
Solche Anweisungen werden dann korrekt ausgeführt und erscheinen auch
unter Windows 95 in der langnamigen Ausführung.
Frage:
--------
Wie kann ich unter Windows Me ein reines DOS-Betriebssystem
starten?
Antwort:
--------
Windows Me hat nach wie vor das Betriebssystem MS-DOS (in der Version
8.0) als Motor unter der Haube, auch wenn Microsoft dies strikt
leugnet. Normalerweise können Sie ein reines DOS nur von der Windows
Me Startdiskette aus starten. Es gibt jedoch 2 Methoden, wie Sie auch
von der Festplatte aus unter Windows Me ein reines MS-DOS
Betriebssystem verwenden können: Einmal durch einen manuellen Patch
der COMMAND.COM und einmal - etwas komfortabler - mit Hilfe eines
Patches der Windows Me Startdateien. Mehr Informationen und eine
Downloadmöglichkeit des Patches finden Sie in der MS-DOS-Rubrik von
http://www.antonis.de.
Frage:
--------
Die AUTOEXEC.BAT funktioniert unter Windows Me nicht !
Wie kann ich bei Windows Me DOS-Befehle beim Systemstart aufrufen ?
Antwort:
--------
Windows Me wertet die AUTOEXEC.BAT nicht aus. Spezielle Start-
Befehle müssen stattdessen in der Datei WINDOWS\COMMAND\CMDINIT.BAT
stehen. Wenn Sie ein Programm installieren, das bestimmte Befehle
zur AUTOEXEC.BAT hinzufügt, müssen Sie diese daher per Hand in die
CMDINIT.BAT hinüberkopieren.
Frage:
--------
Wie kann ich unter Windows Me den Ansi-Treiber einbinden?
Ich benötige für ein DOS-Programm den Treiber Ansi.sys, der bisher
immer mit einem DEVICE-Eintrag in der Config.sys geladen wurde.
Windows ME ersetzt eine geänderte Config.sys aber nach dem nächsten
Neustart wieder durch eine leere Version. Wie kann ich Ansi.sys unter
ME laden?
Antwort:
--------
Beim Starten einer DOS-Box arbeitet Windows ME die Datei
\windows\command\cmdinit.bat ab. CMDINIT.BAT ist quasi der Nachfolger
von AUTOEXEC.BAT und CONFIG.SYS. Das zusätzliches Tool DEVICE.COM
ermöglicht es, aus einer solchen Batch-Datei heraus Gerätetreiber wie
Ansi.sys zu laden. DEVICE.COM steht im Internet zum Download bereit,
z.B. unter
http://www.simtel.net/pub/simtelnet/msdos/sysutl/devic104.zip .
Nach dem Entpacken kopieren Sie DEVICE.COM am besten in das
Verzeichnis \windows\command. Der dort normalerweise schon vorhandenen
Datei Cmdinit.bat fügen Sie anschließend mit einem Texteditor die
Zeile
device c:\windows\command\ansi.sys
hinzu.
Frage:
---------
Unter Windows 2000 stockt mein Kommandozeilenprogramm !
Wenn ich unter Windows 2000 mit der Maus in ein geöffnetes Fenster der
Eingabeaufforderung klicke, so scheint das System die darin
ablaufenden Programme anzuhalten. Wo kann ich dieses Verhalten
abstellen?
Antwort.
---------
Windows 2000 aktiviert normalerweise in der Kommandozeile den
QuickEdit-Modus. Das heißt, man kann mit der Maus direkt
auszuschneidende Texte markieren. Durch einen einfachen Klick in das
Fenster wird dieser Markiervorgang gestartet. Solange er nicht mit
einem Druck auf die Return-Taste beendet wird, bleiben alle Ausgaben
und somit viele Programme stehen. Wenn sich diese Vereinfachung als
störend herausstellt, was zum Beispiel auch beim Einsatz von DOS- oder
anderer Textmodussoftware mit Maussteuerung der Fall sein kann, sollte
man sie über die Eigenschaften der Kommandozeile abschalten.
Frage:
--------
Was taugen die DOS-Emulatoren für Mac-OS, LINUX, Palm OS, Epoc und
Windows CE ?
Antwort:
--------
*** DOS-Emulator für Windows CE
Für Windows CE gibt es den sehr guten und schnellen DOS-Emulator
PocketDOS, den man von der Herstellerseite http://www.pocketdos.com/
herunterladen kann. Unter diesem Emulator sollen sogar QBasic,
QuickBasic und VB-DOS problemlos laufen.
*** DOS-Emulator für Epoc (Psion Handheld-Computer usw.)
Für EPOC gibt es einen sehr guten MS-DOS Emulator namens XTM .
Eine Shareware-Version können Sie beim Hersteller "NB Information
Limited" unter http://www.nb-info.co.uk herunterladen. Das emulierte
DOS ist etwa so schnell wie DOS auf einem PC-AT Computer. Darunter
müsste auch QBasic problemlos laufen. Einige deutschsprachige Tipps
zu XTM finden Sie man auf http://www.psionwelt.de/workshop/ .
Hat jemand Erfahrung damit?
*** DOS-Emulator für Palm OS
Als MS-DOS-Emulator für Palm OS ist mir nur das sehr rudimentäre
"TRGdos" von Harry Konstas bekannt. TRGdos ist Freeware und
downloadbar auf Harry's Homepage unter
http://www.total.net/~hkonstas/trgdos.html . Ich wage zu bezeifeln,
dass QBasic darauf problemlos läuft. Kann mir jemand Erfahrungen
darüber mitteilen?
*** DOS-Emulator für Apple Computer und Linix
Ob es so etwas gibt, wüsste ich auch gern. Wenn Sie Informationen
oder Erfahrungen zu derartigen DOS-Emulatoren haben, so senden Sie
mir diese bitte per E-Mail.
© 2001 Thomas Antoni --- Visit my
Homepage at http://www.antonis.de
---=== Hottest MS-DOS Stuff on Earth !! ===---