==========================================================================
SSL-CLI V1.4x                                  Letzte nderung: 14.01.1993
==========================================================================
         (c) Stephan Slabihoud, Gustav-Ohm-Str.72, D-4250 Bottrop
               Neue Postleitzahl ab 1.6.93: D-46236 Bottrop
==========================================================================
                            S H A R E W A R E
==========================================================================

                  Sharewarebedingungen: siehe AVALON.TXT

==========================================================================

             Anregungen und Fehlerbeschreibungen zum Handbuch
             und Programm bitte direkt per Crashmail an mich!


ANLEITUNG:
==========

SSL-CLI  luft  als PRG,  TOS und TTP.  Wird der CLI als TTP  vom  Desktop 
gestartet,  so kann in der Kommandozeile eine Batchdatei angegeben werden, 
die sofort gestartet wird.
Wichtig:  Wird  SSL-CLI als TOS- oder TTP-Programm  gestartet,  so  knnen 
keine GEM-Programme, aus dem CLI heraus, aufgerufen werden.
Ist eine Batchdatei unter dem Namen AUTOEXEC.BAT vorhanden,  so wird diese 
automatisch gestartet.



ALLGEMEINES:
============

- Gro/Kleinschreibung wird nicht beachtet.
- Sprungmarken knnen aus beliebigen Zeichen bestehen.
- Wird einem Befehl ein "@" vorangestellt,  so wird nur fr diesen  Befehl 
  die ECHO-Ausgabe unterdrckt.
- Abbruch einer Batchdatei ber Ctrl+C.
- Anhalten/Fortsetzen der Bildschirmausgabe ber Ctrl+S/Ctrl+Q
- HELP-Seite ber F2
- Wiederholung des letzten Befehls durch F3
- Die Variablen %L/%E beinhalteten die letzten Stackelemente (siehe STACK)
- Die Variable %A beinhaltet alle Stackelemente (siehe STACK)
- Batchdateien knnen bis zu 50 Parameter bergeben werden. Die Platz-
  halter %1 bis %9 stehen fr die ersten neun Parameter.
- Wird ein Befehl eigegeben,  so wird zunchst angenommen,  es handle sich 
  um  einen internen Befehl.  Gibt es keinen solchen internen  Befehl,  so 
  wird  versucht  ein Programm mit diesem Namen  zu  starten.  Ist  dieses 
  Programm nicht vorhanden, so wird zustzlich noch versucht, ein Programm 
  mit   diesem   Namen   zu   starten,   welches   aber   die   Fileendung 
  *.TTP,*.TOS,*.PRG und *.APP trgt.  Erst wenn dieses  fehlschlgt,  wird 
  eine entsprechende Fehlermeldung ausgegeben.


 *)  Diese  Befehle geben einen Fehlercode als ERRORLEVEL  zurck  (0=kein 
     Fehler aufgetreten).
 +)  Diese  Befehle  liefern einen Rckgabewert  ber  ERRORLEVEL  zurck. 
     Dieser kann z.B. ber ERR? angezeigt werden.


DISK-BEFEHLE:
=============

*    CHDIR/CD path\name  Pfad ndern.
                         CHDIR \FIDO

*    MKDIR/MD path\name  Ordner anlegen.
                         MKDIR \FIDO\ORDNER.FOL

*    RMDIR/RM path\name  Ordner lschen.
                         RMDIR \FIDO\ORDNER.FOL

     DIR [path][file]    Inhaltsverzeichnis anzeigen.

                         DIR
                         DIR C:\SYSTEM

     FILES [path][file]  Erweitertes Inhaltsverzeichnis anzeigen.

                         FILES
                         FILES C:\SYSTEM\*.TXT

     TREE [path][file]   Anzeige des Inhaltsverzeichnisses  einschlielich 
                         der Unterverzeichnisse.

                         TREE
                         TREE C:\TEXTE
                         TREE C:\TEXTE\*.BAK

*    CHDRIVE x:/x:       Laufwerk ndern.

                         CHDRIVE C:
                         C:

+    DFREE [x:]          Ermittelt  den  noch  freien  Speicherplatz   der 
                         Diskette/Partition  x:.  Der freie  Speicherplatz 
                         kann ber ERRORLEVEL abgefragt werden.

                         DFREE C:

*    TOUCH path\file     Setzt   Datum/Uhrzeit   der  Datei   gleich   dem 
                         Systemdatum/zeit.

                         TOUCH C:\DESKTOP.INF

*    DEL path\file       Lscht eine Datei.

                         DEL C:\TEST.TXT

*    COPY path[\file] [path]
                         Kopiert eine/mehrere Dateien.

                         COPY *.TXT TEXTE\   Kopiert  alle TXT-Dateien  in 
                                             den Ordner TEXTE.
                         COPY *.TXT          Kopiert  alle TXT-Dateien  in 
                                             den aktuellen Ordner.

                         Beispiele zur Pfadangabe:

                         ("E:\FIDO" sei der aktuelle Pfad)

                         \*.TXT         -> E:\*.TXT
                         *.TXT          -> E:\FIDO\*.TXT
                         \TEXTE\*.TXT   -> E:\TEXTE\*.TXT
                         TEXTE\*.TXT    -> E:\FIDO\TEXTE\*.TXT
                         \              -> E:\*.*
                         E:\            -> E:\*.*


*    MOVE path[\file] [path]
                         Verschiebt eine/mehrere Dateien.

                         Beispiele: siehe COPY!

     DRIVES?             Zeigt alle vorhandenen Laufwerke an.

     STAT [x:]           Gibt eine Laufwerksstatistik aus.

                         STAT C:

     DUMP path\file      Ausgabe einer Datei als HEX-Dump.

     MAPPING [x:]        Ausgabe  einer graphischen  Belegungstabelle  der 
                         Partition x:.

     CHKDSK [x:]         Untersucht  die  Partition  x:  nach  freien  und 
                         defekten Clustern.



ERRORLEVEL-BEFEHLE:
===================

     IFERR= x lable      Wenn die letzte Fehlernummer GLEICH x  ist,  dann 
                         Sprung nach "lable".
     IFERR> x lable      Wenn die letzte Fehlernummer GRER x  ist,  dann 
                         Sprung nach "lable".
     IFERR< x lable       dito., wenn KLEINER.
     IFERR# x lable       dito., wenn UNGLEICH.
     IFERR>= x lable      dito., wenn GRER oder GLEICH.
     IFERR<= x lable      dito., wenn KLEINER oder GLEICH.

     ERR?                Abfrage des letzten Fehlercodes (ERRORLEVEL).

+    EXIST? path\file    Abfrage, ob eine Datei vorhanden ist.

                         EXIST? C:\TEXTE\TEST.TXT

                         0 - Datei ist vorhanden.
                         1 - Datei nicht gefunden.

+    CLRERR              Setzt ERRORLEVEL auf NULL.

+    SETERR x            Setzt ERRORLEVEL auf den Wert x.

     STORE               Sichert ERRORLEVEL im Zwischenspeicher.
     RECALL              Holt ERRORLEVEL zurck.



SYSTEM-BEFEHLE:
===============

     END                 Ende einer Batchdatei.

     VER                 Versionsnummer anzeigen.

     PAUSE               Wartet auf Tastendruck.

     GOTO lable          Sprung zur Marke "lable".

                         GOTO START

     :lable              Definiert Sprungmarke "lable".

                         :START

     HELP                Anzeige einer Hilfsseite.

     EXIT                SSL-CLI beenden.

     BREAK=ON            Unterbrechung  einer Batchdatei mit  Ctrl+C  ein-
                         schalten.
     BREAK=OFF           Unterbrechung  einer Batchdatei mit  Ctrl+C  aus-
                         schalten.
     BREAK?              Abfrage des BREAK-Status.

     REM                 Bemerkungszeile

                         REM Dies ist nur eine Bemerkung.

+    GEMDOS?             Zeigt  GEMDOS-Version.  In  ERRORLEVEL  wird  die 
                         GEMDOS-Versionsnummer  als  Dezimalwert   zurck-
                         geliefert.

                         GEMDOS?   -> z.B. $1600 (5632 Dezimal)

     DATE                Anzeigen/Setzen des Datums.
     TIME                Anzeigen/Setzen der Uhrzeit.

     SET?                Anzeige des aktuellen Environment.
     SET var=path;       Erweitern des Environments um var=path.
     SET ;               Lschen des Environments.

                         SET BINKLEY=E:\FIDO;



I/O-BEFEHLE:
============

     ECHO=ON             Echo ein.
     ECHO=OFF            Echo aus.
     ECHO?               Abfrage des ECHO-Status.
     ECHO text           Ausgabe von "text" auf dem Bildschirm.
     ECHO                Ausgabe einer Leerzeile.

     PECHO text          Ausgabe von "text" auf dem Drucker.
     PECHO               Druckt eine Leerzeile.

     CLS                 Bildschirm lschen.

     WRAP=ON             Zeilenberlauf ein.
     WRAP=OFF            Zeilenberlauf aus.
     WRAP?               Abfrage des WRAP-Status.

     HARDOPY             Druckt eine Hardcopy.

*    TYPE path\file      Ausgabe einer Datei auf dem Bildschirm.
*    PRINT path\file     Ausgabe einer Datei auf dem Drucker.

+    GETKEY              Abfrage  der  Tastatur.  In ERRORLEVEL  wird  der 
                         ASCII-Code geliefert.

     WRITE text          Ausgabe einer Textzeile ohne CR/LF.
     WRITELN text           "      "       "     mit CR/LF (wie ECHO).

     PWRITE text         Druckt eine Textzeile ohne CR/LF.
     PWRITELN text          "     "      "     mit CR/LF (wie PECHO).


STACK-BEFEHLE:
==============

     CLEAR               Lscht Stack.

+    PUSH path\file      Legt eine Datei auf dem Stack ab.  In  ERRORLEVEL 
                         wird  die Anzahl der abgelegten  Dateien  zurck-
                         geliefert.

+    POP                 Lscht  die letzte Datei  vom  Stack.  ERRORLEVEL 
                         enthllt die Anzahl der verbleibenden Elemente.

+    STACK?              Gibt die Anzahl der Stackelemente aus.

+    SDIR [path][file]   Legt  das  Inhaltsverzeichnis auf dem  Stack  ab. 
                         Achtung:  Es  werden  nur die  Dateinamen  (keine 
                         Pfade)  abgelegt!  In ERRORLEVEL wird die  Anzahl 
                         der vorhandenen Stackelemente zurckgeliefert.

+    STREE [path][file]  Wie  TREE,  legt die Dateien aber auf  dem  Stack 
                         ab.  In  ERRORLEVEL  wird  die  Anzahl  der  vor-
                         handenen Stackelemente zurckgeliefert.

     SLIST               Gibt den Stackinhalt aus.

+    FILESELECT path     Gibt  eine Fileselect-Box  aus.  Die  ausgewhlte 
                         Datei  wird auf dem  Stack  abgelegt.  ERRORLEVEL 
                         enthllt   die  Anzahl  der  vorhandenen   Stack-
                         elemente oder NULL,  wenn keine Datei  ausgewhlt 
                         wurde.  (Vorsicht! Nur benutzen, wenn SSL-CLI als 
                         "*.PRG" gestartet wurde.)

     SSAVE path\name     Speichert Stackinhalt ab.

*    SLOAD path\name     Ld den Stackinhalt zurck.


Die  Variable  %L wird duch das letzte Stackelement  ersetzt.  Das  letzte 
Stackelement wird dabei vom Stack gelscht.

Die  Variable  %E wird wie bei %L durch das letzte  Stackelement  ersetzt. 
Das letzte Element wird aber nicht gelscht.

Wird  die Variable %A bei einem Befehl angegeben,  so wird dieser mit  dem 
gesamten Stackinhalt ausgefhrt.



BATCH-BEFEHLE:
==============

Die  Variablen %1 bis %9 enthalten die neun,  von bis zu  50,  bergebenen 
Parameter einer Batchdatei.

+    SHIFT               Eleminiert den ersten Parameter %1.  Die  brigen 
                         Parameter rcken dabei um eins nach  vorne,  d.h. 
                         Parameter 2 wird jetzt als %1 angesprochen, usw.
                         Als  ERRORLEVEL  wird die Anzahl  der  noch  vor-
                         handenen Parameter zurckgeliefert.


     IF%x= "txt" lable   Wenn  Parameter "%x" (1<=x<=9) GLEICH "txt"  ist, 
                         dann erfolgt ein Sprung zu "lable".

     IF%x# "txt" lable   Wenn  Parameter  "%x"  (1<=x<=9)  UNGLEICH  "txt" 
                         ist, dann erfolgt ein Sprung zu "lable".

                         IF%1= "*.TXT" sprung

                         Wichtig:  Es wird keine Gro/Kleinschreibung  bei 
                         "IF%x=" und "IF%x#" beachtet!

     SET%x "txt"         Belegt  den Parameter "%x" mit  "txt".  Der  Text 
                         wird automatisch in Grobuchstaben umgewandelt.

                         X:>SET%1 "Hallo Welt"
                         X:>ECHO %1
                         Hallo Welt
                         X:>

     INPUT%x             Belegt den Parameter "%x" mit einer  einzugebenen 
                         Zeichenkette.  Der eingegebene Text wird in Gro-
                         buchstaben umgewandelt.

                         X:>INPUT%1
                         Hallo Welt
                         X:>ECHO %1
                         Hallo Welt
                         X:>


BEISPIEL-BATCHDATEIEN:
======================

SDIR *.TXT               | Anzeige aller "*.TXT"-Dateien (I)
:loop
TYPE %L
IFERR# 0 loop

SDIR *.TXT               | Anzeige aller "*.TXT"-Dateien (II)
TYPE %A

SDIR *.TXT               | Anzeige aller "*.TXT"-Dateien und
:loop                    | anschlieendes Lschen dieser
TYPE %E
DEL %L
IFERR# 0 loop

STREE *.BAK              | Lschen aller "*.BAK"-Dateien incl. aller
DEL %A                   | Unterverzeichnisse

SET BINKLEY=E:\FIDO;     | Setzt Environment BINKLEY und MAILER
SET NEODESK=C:\NEODESK;

PROGRAMM.TTP             | ERRORLEVEL
IFERR= 0 ok
IFERR= 1 fehler
ECHO Fataler Fehler!
GOTO ende
:fehler
ECHO Es ist Fehler 1 aufgetreten!
:ende

@ECHO=OFF                | Auswahlmen
:start
CLS
ECHO    1- Textverabeitung
ECHO    2- Zeichenprogramm
ECHO  ESC- ENDE
:sprung
GETKEY
IFERR= 49 text
IFERR= 50 zeichen
IFERR= 27 ende
GOTO sprung
:text
F:
CHDIR \WORDPLUS
WORDPLUS.PRG
goto start
:zeichen
D:
CHDIR \DEGAS
DEGAS.PRG
GOTO start
:ende

                       B E S O N D E R H E I T E N
                     ===============================

Die Wilfdcards (oder Joker) sprechen nicht ALLE Dateien auf einmal an!  Es 
wird nur die zuerst gefundene Datei verarbeitet.  Sollen z.B. alle Dateien 
im aktuellen Verzeichnis gelscht werden, so ist dieses mit DEL *.* (siehe 
MS-DOS)  nicht  mglich,  sondern nur ber "SDIR *.*"  und  anschlieendem 
"DEL %A".


                        " K O N W N  -  B U G S "
                            und anderes Getier
                      =============================

 -   SSL-CLI  arbeitet bis jetzt nicht unter MiNT,  da dieses keine  VT-52 
     und schon gar keine AES/VDI-Aufrufe mag.

 -   Der  Bildschirminhalt  wird vor dem Aufruf von  GEM-Programmen  nicht 
     gerettet,  d.h.  es kann u.U.  das Desktop des aufgerufenen Programms 
     auch nach Beendigung noch auf dem Bildschirm zu sehen sein.



                         K U R Z R E F E R E N Z
                      =============================

     *)      Diese  Befehle geben einen Fehlercode als  ERRORLEVEL  zurck  
             (0=kein Fehler aufgetreten).
     +)      Diese  Befehle  liefern einen  Rckgabewert  ber  ERRORLEVEL 
             zurck. Dieser kann z.B. ber ERR? angezeigt werden.

     path    Kompletter Pfad MIT oder OHNE Laufwerksangabe.
     name    Name der Datei OHNE Pfad und OHNE Wildcards.
     file    Name der Datei OHNE Pfad, MIT oder OHNE Wildcards.
     x:      Laufwerk.


DISK-BEFEHLE:
=============

*    CHDIR/CD path\name       Pfad ndern.
*    MKDIR/MD path\name       Ordner anlegen.
*    RMDIR/RM path\name       Ordner lschen.
     DIR [path][file]         Inhaltsverzeichnis anzeigen.
     FILES [path][file]       Erweitertes Inhaltsverzeichnis anzeigen.
     TREE [path][file]        Rekursive Anzeige des Inhaltsverzeichnisses.
*    CHDRIVE x:/x:            Laufwerk ndern.
+    DFREE [x:]               Ermittelt den noch freien Speicherplatz.
*    TOUCH path\file          Setzt Datum/Uhrzeit.
*    DEL path\file            Lscht eine Datei.
*    COPY path[\file] [path]  Kopiert eine/mehrere Dateien.
*    MOVE path[\file\ [path]  Verschiebt eine/mehrere Dateien.
     DRIVES?                  Zeigt alle vorhandenen Laufwerke an.
     STAT [x:]                Gibt eine Laufwerksstatistik aus.
     DUMP path\file           Ausgabe einer Datei als HEX-Dump.
     MAPPING [x:]             Ausgabe einer graphischen Belegungstabelle.
     CHKDSK [x:]              Untersucht die Partition x:.

ERRORLEVEL-BEFEHLE:
===================

     IFERR= x lable           Sprung, wenn letzte Fehlernummer GLEICH.
     IFERR> x lable              "      "    "          "      GRER.
     IFERR< x lable              "      "    "          "      KLEINER.
     IFERR# x lable              "      "    "          "      UNGLEICH.
     IFERR>= x lable             "      "    "       " GRER oder GLEICH.
     IFERR<= x lable             "      "    "      " KLEINER oder GLEICH.
     ERR?                     Abfrage der ERRORLEVEL.

+    EXIST? path\file         Abfrage, ob eine Datei vorhanden ist.
+    CLRERR                   Setzt ERRORLEVEL auf NULL.
+    SETERR x                 Setzt ERRORLEVEL auf den Wert x.
     STORE                    Speichert ERRORLEVEL im Zwischenspeicher.
     RECALL                   Holt ERRORLEVEL aus dem Zwischenspeicher.

SYSTEM-BEFEHLE:
===============

     END                      Ende einer Batchdatei.
     VER                      Versionsnummer anzeigen.
     PAUSE                    Wartet auf Tastendruck.
     GOTO lable               Sprung zur Marke "lable".
     :lable                   Definiert Sprungmarke "lable".
     HELP                     Anzeige einer Hilfsseite.
     EXIT                     SSL-CLI beenden.
     BREAK=ON                 Ctrl+C Unterbrechung ein.
     BREAK=OFF                Ctrl+C Unterbrechung aus.
     BREAK?                   Abfrage des BREAK-Status.
     REM                      Bemerkungszeile
+    GEMDOS?                  Ausgabe der GEMDOS-Version.
     DATE                     Anzeigen/Setzen des Datums.
     TIME                     Anzeigen/Setzen der Uhrzeit.
     SET?                     Anzeige des aktuellen Environment.
     SET var=path;            Erweitern des Environments um var=path.
     SET ;                    Lschen des Environments.

I/O-BEFEHLE:
============

     ECHO=ON                  Echo ein.
     ECHO=OFF                 Echo aus.
     ECHO?                    Abfrage des ECHO-Status.
     ECHO text                Ausgabe von "text" auf dem Bildschirm.
     ECHO                     Ausgabe einer Leerzeile.
     PECHO text               Ausgabe von "text" auf dem Drucker.
     PECHO                    Druckt eine Leerzeile.
     CLS                      Bildschirm lschen.
     WRAP=ON                  Zeilenberlauf ein.
     WRAP=OFF                 Zeilenberlauf aus.
     WRAP?                    Abfrage des WRAP-Status.
     HARDOPY                  Druckt eine Hardcopy.
*    TYPE path\file           Ausgabe einer Datei auf dem Bildschirm.
*    PRINT path\file          Ausgabe einer Datei auf dem Drucker.
+    GETKEY                   Abfrage der Tastatur.
     WRITE text               Ausgabe einer Textzeile ohne CR/LF.
     WRITELN text                "      "       "    mit CR/LF (wie ECHO).
     PWRITE text              Druckt eine Textzeile ohne CR/LF.
     PWRITELN text               "     "      "     mit CR/LF (wie PECHO).

STACK-BEFEHLE:
==============

     CLEAR                    Lscht Stack.
+    PUSH path\file           Legt eine Datei auf dem Stack ab.
+    POP                      Lscht die letzte Datei vom Stack.
+    STACK?                   Gibt die Anzahl der Stackelemente aus.
+    SDIR [path][file]        Legt das Inhaltsverzeichnis auf den Stack. 
+    STREE [path][file]       Wie TREE, aber mit Pfaden und Unterordnern.
     SLIST                    Gibt den Stackinhalt aus.
+    FILESELECT path          Einlesen ber Fileselect-Box.
     SSAVE path\name          Speichert Stackinhalt ab.
*    SLOAD path\name          Ld Stackinhalt zurck.

Die Variable %L wird duch das letzte Stackelement  ersetzt.   Das   letzte 
Stackelement wird dabei vom Stack gelscht.
Die  Variable  %E wird wie bei %L durch das letzte  Stackelement  ersetzt. 
Das letzte Element wird aber nicht gelscht.
Wird  die Variable %A bei einem Befehl angegeben,  so wird dieser mit  dem 
gesamten Stackinhalt ausgefhrt.

BATCH-BEFEHLE:
==============

Die  Variablen %1 bis %9 enthalten die neun,  von bis zu  50,  bergebenen 
Parameter einer Batchdatei.

+    SHIFT                    Eleminiert den ersten Parameter %1.
     IF%x= "txt" lable        Sprung, wenn Parameter "%x" GLEICH "txt".
     IF%x# "txt" lable           "     "       "       " UNGLEICH "txt".
     SET%x "txt"              Belegt den Parameter "%x" mit "txt".
     INPUT%x                  Direkte Eingabe des Parameters "%x".



                                 HISTORIE
                              ==============

     V0.xx - Testversionen.
     V1.00 - erste funktionsfhige Version.
     V1.10 - STACK-Erweiterungen, AUTOEXEC.BAT, COPY, MOVE,
             rekursive Filesuche, Batch-Parameter, 
             diverse Fehler beseitigt.
     V1.20 - IF%x=/IF%x#, DIR-Ausgabe gendert, SET%x.
     V1.25 - diverse Optimierungen, STAT, DUMP, CHKDSK, MAPPING.
     V1.30 - weitere Optimierungen, INPUT%x, Handbuch berarbeitet.
     V1.40 - STORE, RECALL, SSAVE, SLOAD.
     V1.41 - Doppelter Cursor entfernt.
     V1.42 - Fehlerkorrektur %n
     V1.43 - Fehlerkorrektur %L,%A
     V1.44 - Fehlerkorrektur %n

