COMMAND-Ein Kommando-Interpreter
COMMAND.TOS ist ein Bestandteil des Programmpakets EASE
Copyright 1993 by Application Systems Heidelberg Software GmbH
----------------------------------------------------------------------

1. Was ist COMMAND?

COMMAND ist ein kleiner Kommando-Interpreter, der als TOS-
Programm luft. Er ist dazu gedacht, von der EASE aus in einem 
Fenster gestartet zu werden, kann aber auch als normales TOS-
Programm in anderen Umgebungen benutzt werden.

2. Generelle Bedienung von COMMAND

COMMAND meldet sich nach dem Start mit dem von MS-DOS her 
bekannten Prompt. Eine bersicht ber den Befehlssatz erhlt man mit 
dem Kommando HELP oder, indem man die HELP-Taste tippt.
Wie in MS-DOS auch befindet man sich in dem im Prompt angezeigten 
Working-Directory. Programme werden einfach durch Eingabe ihres 
Namens gestartet. Es ist nicht notwendig, die Endungen der 
Programmnamen anzugeben, sofern der Name nicht einem 
COMMAND-Kommando gleicht. Wie Programme knnen auch 
Batchdateien zur Ausfhrung geladen werden.
Beendet wird COMMAND mit dem Befehl EXIT oder durch Drcken 
der UNDO-Taste.
Informationen ber ein Kommando werden angezeigt, indem man das 
Kommando ohne Parameter eingibt, oder, falls das Kommando keine 
Parameter bentigt, indem man als einzigen Parameter ein Fragezeichen 
(?) eingibt.

3. Befehlssatz von COMMAND

ALIAS
-----
Synonyme fr Befehle anzeigen, definieren oder vergessen
Parameter:
-  1 (optional): Wort in der oder fr die Synonymliste
-  2 (optional): Zeichenkette, fr die das Wort in Zukunft 
   Synonym sein soll, oder FORGET, um die Synonym-Zuordnung fr das 
   Wort zu vergessen (bringt Speicher).
Ohne Angabe von Parametern zeigt COMMAND die aktuelle 
Synonymliste auf dem Bildschirm an, ansonsten werden bestehende 
Synonyme umdefiniert, neue definiert oder alte vergessen. Die Gre 
des Speichers fr die Alias-Synonyme kann der Benutzer in der Datei 
Profile festgelegen. Voreinstellung sind 1000 Bytes. Die Profile-Datei 
wird im Abschnitt 9. Start von COMMAND beschrieben.
Beispiel:
ALIAS IB INFO B:
Nach der Eingabe dieses Befehls bewirkt die Eingabe von IB das 
gleiche wie die Eingabe von INFO B:.

ATTRIB
------
Attribute einer Datei anzeigen oder ndern.
Parameter:
-  1: Dateiname
-  2 (optional): neues Attribut
Die erlaubten Attribute sind Summen von:
   0 Standarddatei
   1 nur lesen
   2 versteckt
   4 versteckte Systemdatei
   8 Diskettenname
  16 Unterverzeichnis
  32 Archivdatei
Diese Attribute knnen Dateien zugeordnet werden. Mit Hilfe dieses 
Befehls kann man z.B. Dateien schreibschtzen.
Beispiele:
ATTRIB TEST.TXT 0
ATTRIB ASSIGN.SYS 3

CD
--
Working-Directory ndern.
Parameter:
-  1: Pfadbezeichnung
Beispiel:
CD \EXTERN

CLS
---
Bildschirm lschen.

CMP
---
Zwei Dateien vergleichen.
Parameter:
-  1: Name der ersten Datei
-  2: Name der zweiten Datei
-  3 (optional): -A (alle Unterschiede anzeigen)
Die beiden Dateien werden verglichen und die ersten 10 Unterschiede, 
falls existent, ausgegeben.
Beispiel:
CMP A:\TEST.TXT F:\ANL.TXT -A

COPY
----
Dateien kopieren.
Parameter:
-  1: Quelldateibezeichnung (Dateiname mit Wildcards, CON: 
   oder Pfadbezeichnung)
-  2 (optional): Zieldateibezeichnung (Dateiname, 
   Pfadbezeichnung oder CON: oder PRN:)
-  weitere (optional): -?, -L, -W oder -R
Falls die Zieldateibezeichnung fehlt, wird automatisch in das aktuelle 
Verzeichnis kopiert. Wird als Quelldateibezeichnung CON: angegeben, 
liest COMMAND die zu kopierenden Zeichen von der Tastatur ein und 
schliet die Zieldatei, sobald CTRL-Z getippt wird. Als 
Zieldateibezeichnung bewirkt CON: eine Ausgabe der Quelldatei auf 
den Bildschirm und PRN: eine Ausgabe auf den Drucker.
Optionen:
-  -?: fr jede Datei eine Kopierbesttigung verlangen.
-  -L: automatisches Lschen existierender Zieldateien. 
   Voreingestellt ist die Abfrage einer Besttigung.
-  -W: ermglicht das Kopieren von einer Diskette auf eine 
   andere mit nur einem Laufwerk. Falls Quellaufwerk gleich Ziellaufwerk 
   und -W eingestellt, nimmt COMMAND an, da der Benutzer nur ein 
   Laufwerk besitzt und macht ihn zum Diskjockey. Die Optionen -W und -
   R knnen nicht zusammen benutzt werden.
-  -R: rekursives Kopieren: ab dem Quellpfad werden alle Ordner 
   auch im Zielpfad angelegt und die darin stehenden Dateien mitkopiert 
   (falls sie auf den Quelldateinamen passen)
Beispiel:
COPY C:\USR\USERS\*.* D:\USER -R
Der gesamte auf C:\USR\USERS folgende Dateibaum wird mit allen 
seinen Dateien nach D: in den Ordner \USER kopiert; dort bereits 
existierende Dateien oder Ordner bleiben bestehen. Die Ordner, an 
denen COMMAND beim rekursiven Kopieren vorbeikommt, legt es im 
Zielpfad neu an (falls sie dort nicht schon existieren).

DATE
----
Datum anzeigen oder ndern.
Parameter:
-  1 (optional): Datum im Format Tag.Monat.Jahr
Beispiel:
DATE 20.8.89

DIR
---
Inhaltsverzeichnis anzeigen.
Parameter:
-  1 (optional): Pfadbezeichnung
-  weitere (optional): -D, -F, -W und -R
Optionen:
-  -D: nur Ordner anzeigen (Directories)
-  -F: nur Dateien anzeigen (Files)
-  -W: tabellarische Anzeige (Wide)
-  -R: Inhaltsverzeichnis fr alle Ordner rekursiv (Tree) anzeigen
Beispiel:
DIR D:\TEXTE\*.ANL -W -F

ECHO
----
Text ausgeben.
Parameter:
-  1 (optional): Text, ON oder OFF
   ON bzw. OFF schalten bei Batch-Betrieb die Ausgabe der 
   abgearbeiteten Befehle an bzw. aus.

ENV
---
Umgebungsparameter ausgeben:
-  freier Speicher
-  aktuelle Pfade auf den angeschlossenen Laufwerken

ERASE
-----
Dateien lschen.
Parameter:
-  1: Dateiname (mit Wildcards) oder Pfadbezeichnung
-  weitere (optional): -?, -R und/oder -W
Optionen:
-  -?: fr jede Datei eine Lschbesttigung verlangen
-  -R: rekursives Lschen: es wird auch in den untergeordneten 
   Ordnern rekursiv mitgelscht.
-  -W: Lschen von leergewordenen untergeordneten Ordnern. 
Falls der erste Parameter aus einer Pfadbezeichnung besteht, wird der 
ganze Pfad gelscht, sofern keine in ihm enthaltenen Dateien mit einem 
Schreibschutz versehen ist. Die Option -? kann nicht zusammen mit 
dieser Option gesetzt werden. Die Abfrage einer globalen 
Lschbesttigung verhindert ggf., da ungewollt ganze Ordner oder gar 
Pfade vernichtet werden.
Beispiele:
ERASE D:\TEXTE\*.DOC -?
ERASE C:\USR -R -W
Nachdem der Benutzer die von ihm verlangte Besttigung gegeben hat, 
lscht COMMAND den kompletten Pfad \USR auf C:.

EXEC
----
Ein Programm starten.
Parameter:
-  1: Programmname

EXIT
----
COMMAND beenden.

F4..F10
-------
Funktionstasten belegen.
Parameter:
-  1: Belegung
Beispiel:
F7 ERASE *.O -?
Wird nach Eingabe dieses Befehls die F7 -Taste getippt, erscheint in der 
Eingabezeile der Befehl ERASE *.O -?.

FORMAT
------
Formatieren einer Diskette.
Parameter:
-  1: Laufwerkskennung (A: oder B:)
-  weitere (optional): -S, -4 und/oder -10
Optionen:
-  -S: einseitiges Formatieren
-  -4: nur 40 Tracks formatieren
- -10: 10 Sektoren pro Track
Beispiel:
FORMAT A: -S

FUNCTION
--------
Funktionstastenbelegung sowie die letzten 10 Kommandos anzeigen (die 
aktuelle Belegung wird durch diesen Befehl nicht beeinflut).

HELP
----
Alle Kommandos anzeigen.

INFO
----
Informationen ber eine Diskette/Plattenpartition anzeigen.
Parameter:
-  1 (optional): Laufwerkskennung
-  2 (optional): -E
Option:
-  -E: ausfhrliche Informationen
Bei Festplatten wird fr die Anzahl der Tracks und der Sektoren pro 
Track 0 angegeben.
Beispiel:
INFO A:

INIT
----
Eine Diskette initialisieren.
Parameter:
-  1: Laufwerkskennung (A: oder B:)
-  2 (optional): -B
Option:
-  -B: Bootsektor neu schreiben
Falls -B nicht eingestellt ist, versucht COMMAND den Bootsektor der 
angewhlten Diskette zu lesen, um sich ber deren Format klar zu 
werden. Danach werden die FATs sowie das Hauptverzeichnis gelscht. 
Falls -B eingestellt ist, wird vorher ein neuer Bootsektor geschrieben, 
der die Diskette als eine 2-seitige 80-Track-Scheibe mit 9 Sektoren 
auszeichnet.
Beispiele:
INIT A:
INIT A: -B

LABEL
-----
Einen Diskettennamen ndern.
Parameter:
-  1: neuer Diskettenname
Beispiel:
LABEL A:NEWNAME

MAKE
----
Eine Datei mit einer bestimmten Lnge erzeugen, in der nur 0-Bytes 
stehen.
Parameter:
-  1 Dateiname
-  2 Lnge
Beispiel:
MAKE D:\TEST.IMG 100

MD
--
Einen Pfad anlegen.
Parameter:
-  1: Pfadbezeichnung
Beispiel:
MD F:\TEXTE\TEST\

MEDCHNG
-------
Media-Change auf einem bestimmten Laufwerk erzeugen.
Parameter:
-  1 (optional): Laufwerkskennung

MERGE
-----
Zwei Dateien nacheinander in eine Datei schreiben.
Parameter:
-  1: Zieldateiname
-  2: Dateiname der ersten Datei
-  3: Dateiname der zweiten Datei
Die beiden Dateien kopiert COMMAND hintereinander in die Zieldatei. 
Falls es diese allerdings schon gibt, wird eine Fehlermeldung 
ausgegeben.
Beispiel:
MERGE D:\TEST C:\EXTERN\COMMAND.TOS DESKTOP.INF

MORE
----
Dateien anzeigen.
Parameter:
-  1: Dateiname (mit Wildcards) oder Pfadbezeichnung
Nach der Ausgabe einer Bildschirmseite wird immer auf einen 
Tastendruck gewartet. Dann knnen Sie die Ausgabe mit ESCAPE 
abbrechen.
Beispiel:
MORE C:\TEXTE\ANL.DOC

PATH
----
Zweitsuchpfade anzeigen oder spezifizieren.
Parameter:
-  1-5 (optional): Pfadbezeichnung (inklusive 
Laufwerkskennung).
Falls der Benutzer ein im aktuellen Ordner nicht vorhandenes Programm 
ohne Pfadangabe aufruft, sucht COMMAND in den Zweitsuchpfaden 
danach und startet es, wenn es dort steht. Es sind maximal 5 
Zweitsuchpfade spezifizierbar.
Beispiel:
PATH C:\SYSTEM D:\BATCH

PRINT
-----
Dateien drucken.
Parameter:
-  1: Dateiname (mit Wildcards) oder Pfadname
Am Ende jeder Seite wird ein Form-Feed ausgegeben.
Beispiel:
PRINT *.TXT

PROMPT
------
Systempromptmodus anzeigen oder ndern.
Parameter:
-  1 (optional): NORMAL oder DRIVE oder NLINE
Ohne Parameter wird der aktuelle Modus ausgegeben, sonst wird der 
Systempromptmodus entsprechend dem Parameter gesetzt. Bedeutung 
der Modi:
NORMAL: X:Pfadname>
DRIVE:  X:>
NLINE:  X:Pfadname
>
Beispiel:
PROMPT NORMAL

PWD
---
Working-Directory ausgeben.

RD
--
Einen leeren Ordner lschen.
Parameter:
-  1: Ordnername
Beispiel:
RD TEXTE

RENAME
------
Eine Datei oder einen Ordner umbenennen, Dateien verschieben.
Parameter:
-  1: alter Name/Pfadbezeichnung
-  2: neuer Name/Pfadbezeichnung
Es gibt folgende Mglichkeiten:
-  Parameter 2 bezeichnet einen Pfad: Parameter 1 kann dann Wildcards
   enthalten - die entsprechenden Dateien werden in diesen Pfad 
   verschoben.
-  Beide Parameter bezeichnen einen Pfad: alle Dateien des ersten 
   Pfades werden in den zweiten Pfad verschoben.
-  Parameter 2 bezeichnet eine (nichtexistente) Datei: Parameter 1 
   mu dann auch eine Datei bezeichnen, die in den angegebenen 
   Parameter 2 umbenannt wird.
Beispiele:
RENAME A:TEXTE A:
RENAME A:ANL.TXT ANL.DOC

SERIALNO
--------
Seriennummer einer Diskette ndern.
Parameter:
-  1: Laufwerkskennung (A: oder B:)

SOUND
-----
Piepsen, um z.B. das Ende einer Formatieraktion anzuzeigen.
Beispiel:
FORMAT A:;SOUND

TIME
----
Zeit anzeigen oder ndern.
Parameter:
-  1 (optional): Zeit im Format Stunden:Minuten:Sekunden
Beispiel:
TIME 23:15:3

TOUCH
-----
Zeit und Datum von Dateien aktualisieren.
Parameter:
-  1: Dateiname (mit Wildcards) oder Pfadname
Beispiel:
TOUCH *.*

TSPACE
------
Platzbedarf eines Pfades anzeigen.
Parameter:
-  1 (optional): Pfadbezeichnung
Ab dem Pfadnamen wird der Verzeichnisbaum rekursiv durchlaufen, 
dabei der Platzbedarf der Ordner und Dateien aufsummiert und dann 
angezeigt.
Beispiele:
TSPACE E:\C
TSPACE *.ANL

VERIFY
------
Dateien auf Lesefehler berprfen.
Parameter:
-  1: Dateiname (mit Wildcards) oder Pfadname
Beispiel:
VERIFY *.C

WAIT
----
Auf einen Tastendruck warten.

4. Kommandoabkrzungen

Folgende Kommandos lassen sich ber Control-Codes erreichen:
ALIAS    CTRL-A
DIR      CTRL-D
ENV      CTRL-E
FUNCTION CTRL-F
INFO     CTRL-I
DIR -W   CTRL-W
CTRL-P   schaltet zustzliche Druckerausgabe an bzw. aus.

5. Funktionstasten

Die Funktionstasten F4 bis F10 sind frei belegbar. In F1 wird das letzte 
Kommando gespeichert. In F2 werden die Parameter des letzten 
Kommandos gespeichert. In F3 wird die letzte Kommandozeile 
gespeichert. Shift-Funktionstaste schickt das gespeicherte Kommando 
direkt ab, es mu dann also nicht RETURN gedrckt werden.

6. Besondere Editierkommandos

Mit den Cursortasten (hoch und runter) kann in den letzten 10 
Kommandos geblttert werden. Diese knnen mit dem Befehl 
FUNCTION angezeigt werden.
Wort links:   CTRL - <-
Wort rechts:  CTRL - ->
Zeilenanfang: SHIFT - <-
Zeilenende:   SHIFT - ->

7. Besonderheiten bei der Kommandozeilenabarbeitung

a. Semikolon
In einer Zeile knnen mehrere Kommandos mit Parametern, durch 
Semikolon getrennt, eingegeben werden.
Beispiel:
C:>print *.txt ; info a: ; exit

b. senkrechter Balken (|)
Ein Kommando kann mit mehreren Parametern nacheinander aufgerufen 
werden; diese werden durch einen senkrechten Balken getrennt.
Beispiel:
C:>print *.txt | *.asc | *.doc

c. Unterstrich (_)
In den eingegebenen Kommandos werden grundstzlich alle Zeichen in 
Grobuchstaben konvertiert. Um nur das erste Wort einer 
Kommandozeile zu konvertieren, mu ganz zu Anfang ein Unterstrich 
eingegeben werden.
Beispiele:
C:> _echo test
test
C:>echo test
TEST

8. Batchbetrieb

Batchdateien knnen abgearbeitet werden. Sie werden wie Programme 
gestartet. Alle Befehle knnen auch im Batch-Betrieb abgearbeitet 
werden. Von Batchdateien aus knnen auch weitere Batchdateien 
gestartet werden. Die Kommandozeilenparameter knnen in einer 
Batchdatei durch %1,..,%5 abgerufen werden.
Beispiel fr eine Batchdatei (ASM.BAT):

mas -sv %1.s
tlink -v -o=%1.tos %1

Aufruf: ASM TEST.S

Falls COMMAND Parameter vom TOS bekommt, werden diese als 
Namen von Batchdateien interpretiert, und es wird versucht, diese 
Batchdateien auszufhren. Falls COMMAND keine Parameter vom 
TOS bekommt, versucht es auf Top-Level des aktuellen Laufwerks die 
Batchdatei AUTOEXEC.BAT auszufhren.

9. Start von COMMAND

Nachdem COMMAND gestartet wurde, versucht es, die Datei 
PROFILE einzulesen; dort knnen Pfade fr AUTOEXEC.BAT und 
PARFILE (hier speichert COMMAND bei Programmende seine 
Einstellungen ab) angegeben werden. Man hat ferner die Mglichkeiten, 
festzulegen, ob die Einstellungen berhaupt abgespeichert werden 
sollen, und kann die Gre des Speichers fr Alias-Synonyme 
bestimmen.
Erlaubte Befehle im Profile:
-  AUTOPATH Pfadname (Pfad fr AUTOEXEC.BAT)
-  PARPATH Pfadname (Pfad fr PARFILE)
-  NO PARSAVE (Einstellungen nicht speichern)
-  ALIASMEM Gre (Gre des Speichers fr Alias-Synonyme)
PROFILE ist eine normal zu editierende Textdatei. In PARFILE 
speichert COMMAND seine Umgebungsparameter 
(Funktionstastenbelegung usw.) ab.
Ein Profile-Beispiel:
AUTOPATH C:\SYSTEM\
PARPATH C:\SYSTEM\
ALIASMEM 500

10. Parameter an COMMAND

Ausfhren von Batch-Dateien:
An COMMAND bergebene Dateinamen werden als Namen von 
Batchdateien interpretiert und es wird versucht, diese Batchdateien 
auszufhren.
Definition des Pfades fr Profile:
Als erster Parameter ein Stern (*), gefolgt von einem Pfad:
* Pfadname
Die folgenden Parameter werden trotzdem bercksichtigt.
bergabe eines oder mehrerer auszufhrender Kommandos:
Es ist mglich, an COMMAND Befehle zu bergeben, die nach dem 
Start ausgefhrt werden. Mchte man z.B. COMMAND nur aufrufen, 
um alle Dateien mit der Endung ".O" im Verzeichnis C:\TOOLS zu 
lschen, benutzt man folgende Parameterzeile:
!"ERASE C:\TOOLS\*.O" EXIT
Das Ausrufezeichen signalisiert, da es sich bei den Parametern um 
auszufhrende Befehle handelt. Befehle, zu denen zustzliche Angaben 
gehren, mssen mit diesen zusammen in Anfhrungszeichen gesetzt 
werden.
Die Parameterzeile wird also nach folgendem Schema aufgebaut:
!"Kommando_1 + Parameter" ... "Kommando_n + Parameter"
Beispiel:
COMMAND ! "CMP C:FILE1 D:FILE2" WAIT EXIT
