DOS-Box-Ausgaben einfangen

Ich habe ein Programm, dessen Bildschirmausgaben nicht in das Fenster einer DOS-Box unter Windows passen. Wie kann ich verhindern, daß die Ausgaben verschwinden?

vorlesen Druckansicht
Lesezeit: 2 Min.
Von
  • Björn Hansen

Ich habe ein Programm, dessen Bildschirmausgaben nicht in das Fenster einer DOS-Box unter Windows passen. Wie kann ich verhindern, daß die Ausgaben verschwinden?

Unter Windows NT kann in den Einstellungen der DOS-Box eine beliebige Zeilenzahl zugewiesen werden, so daß man durch die Bildschirmseiten scrollen kann. Die DOS-Box von Windows 95 kann nur maximal 50 Zeilen darstellen, was sich in den Einstellungen der DOS-Box ändern läßt. Alternativ verändert der mode-Befehl die Fenstergröße. Windows NT erlaubt auch damit beliebige Werte, Windows 95 nur die Zeilenzahlen 43 und 50. Für ein 43zeiliges DOS-Fenster verwendet man `mode 80,43´, die Ursprungsgröße stellt man mit `mode 80,25´ wieder her.

Es gibt aber noch andere Möglichkeiten. Die meisten Ausgaben von Programmen auf der Kommandozeile können mit dem more-Befehl seitenweise ausgegeben werden. Ein Beispiel zur Anzeige einer längeren Batch-Datei:

type autoexec.bat | more

Ausgabeumleitungen stellen eine weitere Möglichkeit dar, die Bildschirmausgaben einzufangen. Dazu werden diese in eine Datei geschrieben und können später gelesen werden:

type autoexec.bat > c:\temp\konfig.txt

Programme wie Compiler nutzen aber nicht nur die Standardausgabe, sondern geben einen Teil ihrer Meldungen über einen speziellen `Fehlerkanal´ (stderr) aus. Solche Ausgaben kann man unter Windows NT mit `2>´ in eine Datei umleiten. Ein Beispiel für ein Programm, das seine Anleitung auf stderr ausgibt, ist das route-Kommando.

Unter Windows 95 kann Command.com stderr nicht abfangen. Als Lösung bietet sich das Freeware-Programm tcap (ftp.simtel.net/pub/simtelnet/msdos/sysutl/tcap31.zip) an. Die Software protokolliert alle Bildschirmausgaben und leitet diese in eine Datei um.

tcap schickt stderr zunächst auf die Standardausgabe. Während es läuft, kann man also auch die Ausgaben, die in den Fehlerkanal gehen, wie oben beschrieben mit `more´ betrachten. Wenn das reicht, kann man verhindern, daß tcap eine Datei anlegt, indem man es mit dem Dateinamen `nul´ als Parameter aufruft. Dieser Dateiname steht für den Bit-Mülleimer, alle in diese Datei geschriebenen Daten verschwinden sofort. (ipa/je) (ha)