

                 SL-Shell - Eine Shell fr den COMMAND.COM

                            von Stephan Lscher

                                Version 1.0



Eine juristische Bemerkung zu Anfang:
Die Bezeichnung "SL-Shell" ist die Abkrzung von "Stephan Lscher's Shell".
Auch wenn im Folgenden und in der eigentlichen Software von "SL-Shell" die
Rede ist, ist damit die Software mit Namen "Stephan Lscher's Shell" gemeint.
Sollte eine Firma ein Produkt namens "SL-Shell" oder hnlichen Namens bereits
verwenden, so stellt es KEINE Wettbewerbsgestz-Verletzung dar, denn der
offizielle Name meiner Software ist "Stephan Lscher's Shell" und wird im
Folgenden nur durch "SL-Shell" abgekrzt.



Die wichtigsten Eigenschaften:
- Diverse Verbesserungen gegenber COMMAND.COM
- Das CD-Kommando ist erweitert.
- Braucht KEINEN Speicher, da nicht resident.
- Sie knnen alle Dos-Befehle verwenden (auch SET !)
- Ihre bereits eingegebenen Kommandozeilen (History) werden gespeichert und
  stehen beim nchsten Rechner-Neustart wieder zur Verfgung.
- Groe Fehlertoleranz bei Tippfehlern.
- Alias-Definitionen.
- Zusatz- und Korrektur-Funktionen abschaltbar.
- Mehrere Kommandos durch ';' getrennt mglich.
- Kommandozeilen-Ergnzung aus dem Dateisystem.
- Rechenzeitabgabe unter Multitaskern (Windows, OS/2, ...)
- Taschenrechner.
- Integrierter Bildschirmschoner. (Auch externe mglich)
- Integrierter Environment-Editor.









Copyright (c) 1994-1996 by Stephan Lscher  -  alle Rechte vorbehalten
Meine Adresse: Stephan Lscher, Dr.Troll-str. 3, 82194 Grbenzell, Deutschland
Internet EMail: loescher@leo.org
WWW: http://www.leo.org/~loescher/

Sie knnen die neueste Version dieses Programms dort finden, wo Sie auch
diese Kopie erhalten haben, oder
via FTP auf FTP.LEO.ORG (Bentzen Sie "site exec search" um es zu finden.)
Probieren Sie auch einmal eine vllig neue Dimension des Archiv-Zugriffs aus:
http://www.leo.org/archiv/


Dieses Programm ist Shareware. Sie knnen und sollen dieses Programm
kopieren, benutzen, Ihren Freunden geben, auf eine BBS oder hnliches
laden, unter den folgenden Bedingungen:

 * Es darf dadurch kein Profit gemacht werden. Falls es auf eine BBS
   geladen wird, mu es von Benutzern kostenfrei abgerufen werden knnen
   (abgesehen von den sowieso anfallenden Benutzungsgebhren der BBS).
   Sogenannte "Aufwandsentschdigungen" fr das Kopieren, die (anteilig)
   bis zu 5 DM betragen drfen, sind zulssig.
 * Nur das Original-Paket darf weitergegeben bzw. verteilt werden, das
   alle Dateien enthlt.
 * Dieses Programm darf nicht Teil eines kommerziellen Produkts oder einer
   kommerziellen Dienstleistung sein ohne schriftliche Erlaubnis des Autors.
 * Wenn Sie dieses Programm in einem CD-ROM und/oder Buch verffentlichen
   wollen, bitte ich darum, mir ein kostenloses Exemplar des CD-ROMs/Buchs
   zuzusenden (dies ist kein Mu, ich wrde es aber sehr begren).

Im Rahmen dieser Auflagen ist eine Weitergabe und Verbreitung dieses
Programms in jeglicher Form ausdrcklich erwnscht!


DIE VERWENDUNG VON DIESEM PROGRAMM ERFOLGT AUF EIGENE GEFAHR! DER AUTOR
(STEPHAN LSCHER) BERNIMMT KEINERLEI HAFTUNG FR IRGENDWELCHE SCHDEN ODER
DATEN-VERLUSTE, DIE DURCH DIE VERWENDUNG DIESES PROGRAMMS ODER DURCH DIE
UNFHIGKEIT, DIESES PROGRAMM ZU VERWENDEN, DIREKT ODER INDIREKT RESULTIEREN.
FALLS SIE SICH NICHT SICHER SIND, ODER FALLS SIE DIES NICHT AKZEPTIEREN,
BENUTZEN SIE DIESES PROGRAMM NICHT!
AUFGRUND DER VERSCHIEDENEN HARDWARE- UND SOFTWARE-UMGEBUNGEN IN DIE DIESES
PROGRAMM MGLICHERWEISE GEBRACHT WIRD, KANN ICH NICHT FR DIE EIGNUNG FR
EINEN BESTIMMTEN ZWECK GARANTIEREN.
TESTEN SIE DIESES PROGRAMM BITTE AUSFHRLICH MIT UNKRITISCHEN DATEN, BEVOR
SIE SICH AUF SEINE FUNKTIONALITT VERLASSEN.

Dieses Programm ist preiswerte Shareware.
Trotzdem ist das Programm in seiner Funktionalitt NICHT eingeschrnkt!
Es gibt auch keine "Warteschleifen" oder nervende Hinweis-Fenster,
wie es leider in vielen Shareware-Programmen blich geworden ist.
Aber da ich viel Arbeit in dieses Programm gesteckt habe, denke ich, da es
mir zusteht einen kleinen Entgelt zu verlangen.
Falls Sie dieses Programm nach einer Testzeit von 30 Tagen weiterhin benutzen
wollen, dann mssen Sie mir die kleine Registrierungsgebhr von

DM 10.-

auf mein Konto:
                Bankleitzahl: 70190000
                Konto-Nummer: 2608790

berweisen oder mir per Verrechnungsscheck oder bar per Post senden.
Die Registrierung ist gltig fr alle zuknftigen Versionen.
Achtung: Durch die Registrierung erhalten Sie keine weiteren Vorteile,
Sie haben keinen Anspruch auf irgendeine Gegenleistung meinerseits.
Wenn Sie sich registrieren lassen haben Sie erstens das Recht, das Programm
ber die 30 Tage hinaus, in denen Sie es testen drfen, uneingeschrnkt zu
nutzen und zweitens bedenken Sie, da es nicht zulssig ist, das Programm
nach Ablauf der Testzeit zu benutzen, es ist illegal und unfair mir
gegenber.
Die Registriergebhr wird mich anspornen diese Software weiterzuentwickeln.

Also: Untersttzen Sie das Shareware-Prinzip !


Kein Teil dieser Dokumentation darf ohne vorherige schriftliche Genehmigung
des Autors, Stephan Lscher, ganz oder teilweise auf jegliche Art
(elektronisch, mechanisch, magnetisch, optisch, manuell usw.) vervielfltigt,
bertragen, umgeschrieben, in einem Retrieval-System gespeichert oder in
andere Sprachen bersetzt werden.

Wenn Sie denken, da diese Kopie der Software in irgendeiner Form verndert
wurde, dann informieren Sie mich bitte umgehend! Zgern Sie bitte keinen
Augeblick mich zu informieren. Denken Sie daran: Diese Software soll allen in
der Original-Form zugnglich sein, also akzeptieren Sie bitte keine
modifizierte oder beschdigte Version dieser Software.

Sie drfen diese Software oder diese Anleitung in keiner Weise verndern,
decompilieren, disassemblieren, oder auf andere Weise einer
"reverse-engineering"-Methode unterziehen.


Der Autor behlt sich rechtliche Schritte bei Verletzung des Copyrights
oder der Lizenzbestimmungen vor.


Alle Warenzeichen und Produktbezeichnungen, die in dieser Software genannt
werden, sind Warenzeichen oder registrierte Warenzeichen der jeweiligen
Inhaber und werden ohne Rcksicht auf freie Verfgbarkeit verwendet.


Fragen, Ideen, oder Verbesserungs-Vorschlge nehme ich dankend entgegen.
(Wenn mglich via EMail.)


This program was created using Borland Pascal with Objects Copyright Borland
International 1992.







                              Inhalt
                              ******

1. Installation
     1.1. Installation und Aufruf
     1.2. Die Initialisations-Datei: SL-UTILS.INI
     1.3. Installation unter MS-Windows 3.xx
     1.4. Hinweise zu Multitasking-Systemen und Unter-Shells
2. Neue Kommandos
3. Neue Tastatur-Funktionen
4. Erweitertes CD (ChangeDirectory) Kommando
5. Automatische Fehlerkorrektur
6. Verwendung von Aliases
     6.1. Allgemeines
     6.2. Struktur des Alias-Files
7. Die Taschenrechner-Funktion
8. Tips und Tricks

Anhang:
A. Danksagungen
B. Verbesserungsvorschlge
C. Bekannte Probleme und deren Lsung
D. Geplante Features
E. Versions-Historie






          1.1. Installation von SL-Shell:
          *******************************

SL-Shell.BAT und SLSH.EXE mssen sich auf dem Pfad befinden.

Auerdem mssen folgende Environment-Variablen definiert werden:
    SET HISTFILE=...  History-File mit Pfadangabe.
    SET TEMP=...      temporres Verzeichnis.
    SET COMSPEC=...   COMMAND.COM mit Pfadangabe.
    SET SLINI=...     Pfadangabe fr SL-UTILS.INI

Optional knnen Sie folgende Environment-Variablen definieren:
    SET FTEMP=...     temporres Verzeichnis auf einem schnellen Medium,
                      welches dann bevorzugt wird.
    SET ALIASFILE=... Wenn Sie Aliases verwenden wollen, dann mssen Sie
                      hiermit das Alias-File angeben.

Sie drfen bei der Angabe des temporren Laufwerks KEINEN abschlieenden "\"
verwenden, da sonst nicht korrekt darauf zugegriffen werden kann.
Korrekte Beispiele:     c:\temp     g:     f:\win\temp
Wenn Sie nur das Laufwerk OHNE Pfad angeben ("g:"), dann wird das
Stammverzeichnis ("g:\") verwendet.

Wenn Sie SL-Shell auch in Dos-Shells von anderen Programmen verwenden wollen,
dann mssen Sie leider SL-Shell von Hand in diesen Shells aufrufen.
Einzige Erleichertung ist dann nur noch SL-Shell in dieser Shell durch die
Batch-Datei namens C.BAT zu starten. Somit sparen Sie sich wenigstens etwas
Tipparbeit.

Wenn Ihr DOS den Prompt-Befehl "$X" untersttzt, dann knnen Sie die
Robustheit von SL-Shell gegenber Fehlern einfach verbessern:
Setzen Sie dazu im Environment die Variable PEXEC=SL-Shell.bat
Immer wenn SL-Shell nicht "normal" beendet wird, also z.B. durch
einen Absturz eines anderen Programms oder den Abbruch einer Batch-Datei
oder hnliche Fehler wird mithilfe dieser DOS-Funktion SL-Shell wieder
gestartet. Ein altes Problem wird damit auch beseitigt:
Wenn man auf die Frage "Stapelverarbeitung abbrechen J/N ?"
mit JA antwortet, dann wird auch SL-Shell beendet, auer Sie haben PEXEC
definiert. Dann knnen Sie ganz beruhigt Ihre Batch-Dateien wie gewohnt mit
Break abbrechen und SL-Shell luft trotzdem weiter.
Ich weiss leider nicht, welche DOS-Versionen $X mit PEXEC
untersttzen. DRDOS 6.0 und hher kennen diese Funktion.
Allerdings hat diese Methode auch einen Nachteil:
In manchen Sub-Shells ist berhaupt kein Prompt zu sehen.


Wenn Sie optimale Performance erzielen wollen, dann gehen Sie wie folgt vor:
( Es wird eine Mini-RamDisk erstellt und alle Einstellungen vorgenommen. )

In config.sys:
hidevice=c:\win\ramdrive.sys 50 /E
rem Erstellt RAM-Disk (im Beispiel Laufwerk L:\)
rem RAM-Disk braucht nur 1.328 Byte konventionellen Speicher und 50 KB XMS

In autoexec.bat:
if exist L:\nul PATH L:\;%PATH%
set comspec=c:\dos\command.com
set histfile=c:\histfile.dat
set aliasfile=c:\alias.dat
set slini=c:\win\
if exist L:\nul set ftemp=L:
if not "%FTEMP%"=="" scopy c:\quell\pas\exe\slsh.exe     L:\
if not "%FTEMP%"=="" scopy c:\quell\pas\exe\SL-Shell.bat L:\
if not "%FTEMP%"=="" scopy c:\quell\pas\exe\c.bat        L:\
set pexec=SL-Shell.bat


Natrlich sollte das History-File NICHT auf einer RAM-Disk angelegt werden,
da Sie sonst nicht den Vorteil nutzen knnen, da Ihre Kommandos nach dem
nchsten Neustart des Rechners wieder verfgbar sind.


Aufruf:
Sie mssen SL-Shell.BAT starten und nicht SLSH.EXE !!!!
Es wird NICHT COMMAND.COM ersetzt! SL-Shell ist nur eine Shell "ber"
dem COMMAND.COM.


Sie knnen jederzeit im SL-Shell Hilfe erhalten. Tippen dazu einfach "HELP".


Noch eine Bemerkung zum Speicherverbrauch:
DRDOS zeigt 272 Bytes Speicherverbrauch an, MSDOS nicht.
Wenn in der Eingabe '|', '>', oder '<' verwendet werden, dann erhht sich
der Speicherverbrauch um ca. 7 KB.




          1.2. Die Initialisations-Datei: SL-UTILS.INI
          ********************************************

SL-Shell speichert einige Einstellungen in einer Initialisations-Datei
namens SL-UTILS.INI
Sie knnen den Ort, wo sich diese INI befinden soll mit der Environment-
Variablen SLINI festlegen, also z.B.: SET SLINI=C:\UTIL\
Diese INI wird auch von meinen anderen Programmen verwendet und hat deshalb
folgende Struktur:

[Prog1]
Schlssel1=Wert1
Schlssel2=Wert2
Schlssel3=Wert3
...
[Prog2]
Schlssel1=Wert1
Schlssel2=Wert2
Schlssel3=Wert3
...
[Prog3]
Schlssel1=Wert1
Schlssel2=Wert2
Schlssel3=Wert3
...

Wenn Sie nur SL-Shell verwenden, dann hat die INI natrlich nur dessen
Eintrge.

Den Bildschirmschoner knnen Sie konfigurieren, indem Sie die
die Werte in der SL-UTILS.INI entsprechend ndern.
Der SL-Shell-Eintrag in der SL-UTILS.INI hat folgende Struktur:

    [SL-Shell]
    ScreenSaverMinutes=3
    ScreenSaverInWindows=TRUE
    ScreenSaver=c:\progs\schoner.exe /Scircle
    Calculator=c:\progs\calc.exe

Bei "ScreenSaverMinutes" knnen Sie Werte von 0 bis 255 angeben.
Null bedeutet, da der Bildschirmschoner NIE aktiviert wird und z.B.
10 bedeutet, da der Schoner sich nach 10 Minuten einschaltet.
"ScreenSaverInWindows=FALSE" bedeutet, da der Schoner NICHT innerhalb von
Windows aktiviert wird.
Bei "Screensaver" knnen Sie "INTERNAL" angeben, wenn Sie den internen
Bilschrimschoner verwenden wollen.
Wenn Sie ein anderes Programm als Schoner bentzen wollen, dann geben Sie
dieses hier bitte mit kompletten Pfad und Endung und evtl. Parameter an.
Achtung: Sie drfen nicht dirket eine Batch-Datei als Schoner angeben. Es
ist also folgendes Beispiel nicht zulssig:
   ScreenSaver=c:\progs\schoner.bat /N1
Verwenden Sie dafr bitte folgende Form:
   ScreenSaver=c:\command.com /Cc:\progs\schoner.bat /N1
Bei einer Taschenrechner-Angabe gilt dasselbe.
(Nheres hierzu siehe Kapitel: "Die Taschenrechner-Funktion".)





          1.3. Installation von SL-Shell unter MS-Windows 3.xx
          ****************************************************

Sie knnen als PIF-Datei die mitgelieferte Datei: SL-Shell.PIF verwenden
und im Programm-Manager mit dem Icon: SL-Shell.ICO eintragen.
Fr mgliche Probleme bitte ich Sie das folgende Kapitel zu beachten!
Bedenken Sie auch, da Sie sehrwohl Windows von SL-Shell aus aufrufen knnen,
aber Sie verlieren dadurch ca. 4 KB konventionellen Speicher.
Ich rate Ihnen deshalb SL-Shell mit QUIT zu beenden, bevor Sie Windows
starten.
Es kommt mit manchen alten Windows-Graphik-Treibern zu Problemen mit dem
Bilschirmschoner. Wenn Windows meldet, da SL-Shell nicht im Hintergrund
laufen kann, dann schalten Sie bitte den Bilschrimschoner unter Windows aus:
Tragen dazu in die SL-UTILS.INI im Abschnitt [SL-Shell] ein:
    ScreenSaverInWindows=FALSE
Damit ist dieses Problem behoben.





          1.4. Hinweise zu Multitasking-Systemen und Unter-Shells
          *******************************************************

Probleme mit Multitasking-Systemen und mehreren Instanzen von SL-Shell:

SL-Shell luft sehr gut mit Multitasking-Systemen.
Sie knnen SL-Shell zum Beispiel unter Windows oder OS/2 in mehreren
DOS-Fenstern laufen lassen, ohne da es zu Problemen kommt.

Auch in Shells von DOS-Programmen luft SL-Shell einwandfrei.

Einzig und allein in Batch-Dateien knnen Probleme auftreten, wenn SL-Shell
falsch aufgerufen wird. Wenn Sie eine SL-Shell-Unter-Shell in einer
Batch-Datei haben wollen, dann rufen Sie SL-Shell bitte so auf:
     %COMSPEC% /CSL-Shell
Wenn Sie direkt "SL-Shell" aufrufen, dann luft der "bergeordnete" SL-Shell,
von dem aus Sie die Batch-Datei starten nicht mehr stabil.

Sie erhalten brigens eine Fehlermeldung, wenn Sie den kompletten
Inhalt Ihres temporren Laufwerks lschen und vorher SL-Shell nicht
beendet haben. Das hat aber keinerlei Auswirkung.





          2. Neue Kommandos
          *****************

Es sind folgende SL-Shell-Kommandos mglich:

HELP:          Damit erhalten Sie jederzeit eine kurze bersicht aller
               verfgbarer Funktionen (Tastatur und Kommandos)
STATISTIK:     Zeigt eine kleine Statistik an.
DONTCHANGE:    Nachfolgendes Kommando wird unverndert ausgefhrt.
               (Erklrung finden Sie unter: "Automatische Fehlerkorrektur")
ENVIRONFREE:   Zeigt freien Platz im Environment an.
ENVIRONEDIT:   ndern des Environments.
SCREENSAVER:   Schaltet den Bildschirmschoner sofort ein.
WHEREISFILE:   Sucht nach dem angegebenen File auf dem aktuellen Laufwerk.
               Beispiel: WHEREISFILE test*.*
QUIT oder EXIT: Beendet SL-Shell

Wenn Ihnen z.B. das Kommando SCREENSAVER zu lang ist, dann knnen Sie es
durch einen Alias abkrzen, wenn Sie wollen. Siehe dazu Kapitel:
"Verwendung von Aliases".
Ich habe fr die meisten internen Kommandos absichtlich so lange Namen
gewhlt, weil damit ein Konflikt mit Programmen, die gestartet werden sollen
vermieden wird.
Sollten Sie mit einem der kurzen Befehle wie z.B. HELP Probleme haben,
weil Sie eventuell schon ein Programm namens HELP.EXE haben, dann knnen Sie
sich mit Aliases behelfen:

    help
    dontchange help
    b

    slshellhelp
    help
    x

Wenn Sie dann HELP tippen, dann wird Ihr Programm HELP.EXE gestartet.
Wenn Sie slshellhelp tippen, dann erhalten Sie die SL-Shell-Hilfe.
(Siehe dazu auch Kapitel: "Verwendung von Aliases".)
Wenn Sie nur einmal ausnahmsweise das Programm HELP.EXE starten wollen, dann
mssen Sie deswegen nicht gleich einen Alias definieren:
Tippen Sie einfach HELP.EXE statt HELP.

In der Kommandozeile knnen Sie mehrere Kommandos gleichzeitig angeben.
Sie mssen die Kommandos nur durch ';' trennen. Beispiel:

del b:\*.* ; chkdsk b: ; xcopy c:\*.* b:

fhrt nacheinander die Kommandos aus:
del b:\*.*
chkdsk b:
xcopy c:\*.* b:

Dasselbe funktioniert natrlich auch mit Aliases!


Die Kommandos:
- SCREENSAVER
- ENVIRONFREE
- ENVIRONEDIT
- WHEREISFILE
knnen auch verwendet werden OHNE SL-Shell dauerhaft zu starten,
also z.B. in Batchdateien:
Geben Sie hierzu einfach folgenes ein:
     SLSH kommando
Also z.B.: SLSH ENVIRONFREE
Das funktioniert immer, wenn sich SLSH.EXE auf dem Pfad befindet. SL-Shell
mu also hierfr nicht vollstndig installiert werden.
Das ist fr die Benutzer gedacht, die SL-Shell-interne Funktionen in
Batchdateien verwenden wollen.





          3. Tastatur-Funktionen
          **********************

CursorUp/Down:  Im History blttern.
CRTL+R oder F8: Kommando durch Kommando aus dem History ergnzen.
                Beispiel:
                Sie haben irgendwann das Kommando:
                "chkdsk c: /f" getippt.
                Dann knnen Sie es aus dem History hervorholen, indem Sie:
                "chk" gefolgt von CRTL+R tippen.
                Es wird also nach dem bereits getippten Anfang im History
                gesucht. Es werden zuletzt getippte Kommandos zuerst
                gefunden.
POS1/END:       Sprung zum Anfang/Ende der Zeile.
INS:            Umschalten zwischen Einfge-Modus und berschreib-Modus.
CRTL+CursorLinks/Rechts: Wortweise springen in der Zeile.
CRTL+T:         Rechten Teil ab Cursor der Zeile lschen.
CRTL+Y / ESC :  Ganze Zeile lschen.
TAB:            Kommando ergnzen aus dem Dateisystem (wie UNIX).
                Diese Funktion ist unter UNIX blich:
                Wenn Sie "cd\win" tippen und die Tabulator-Taste drcken,
                dann wird "\win" aus dem Datei-System ergnzt.
                Einmal angenommen bei Ihnen gibt es das Verzeichnis
                "c:\windows", dann wird obiges Kommando zu:
                "cd\windows". Das funktioniert genauso mit Datei-Namen.
                Wenn mehrere Dateien/Verzeichnisse mit denselben Buchstaben
                beginnen, und Sie wollen nicht die erste gefundene Datei,
                sondern eine der nchsten, dann drcken Sie einfach mehrmals
                auf die TAB-Taste.
Shift+TAB:      Funktion wie TAB, nur rckwrts. Es wird also das letzte
                Vorkommen im Datei-System ergnzt.
                Sie knnen mit TAB und Shift+TAB also auch vorwrts und
                rckwrts blttern.





          4. Erweitertes CD (ChangeDirectory) Kommando:
          *********************************************

1. Man kann das Laufwerk mit-wechseln. ("cd d:\win")
2. Der Joker "*" am Ende des Kommandos kann verwendet werden.
   Bsp.: cd d:\win\sy*     oder    cd..\te*     oder     cd pas*
   Es wird in das erste Verzeichnis gewechselt, das dieser Joker-Bedingung
   entspricht. (Also gleiche Funktion wie unter UNIX.)
3. Wird das angegebene Verzeichnis nicht gefunden, dann wird wie unter 2.
   verfahren:
   Bsp.: "cd c:\win\sys"   wenn es nicht existiert, dann sucht SL-Shell
         nach "c:\win\sys*".

Wenn Sie diese automatischen Korrekturen nicht haben wollen, dann lesen Sie
bitte unter 'Automatische Fehlerkorrektur', wie Sie diese Funktion
deaktivieren.

Bercksichtigen Sie bitte, da das erweiterte CD-Kommando NICHT in
Kombination mit mehreren Befehlen mglich ist. Es funktioniert nur das
gewhnliche CD-Kommando, das Sie von COMMAND.COM kennen.
Das funktioniert z.B. NICHT:      dir ; cd c:\temp    ; dir
Sie mssen es so formulieren:     dir ; c: ; cd \temp ; dir





          5. Automatische Fehlerkorrektur:
          ********************************

'#' am Ende der Kommandozeile wird als Tippfehler ignoriert.

'}' wird in '\' umgewandelt. ( cd c:}win\system -> cd c:\win\system )
'' wird in '\' umgewandelt. ( cd c:\winsystem -> cd c:\win\system )

Alle Varianten wie: +:+ *:* +.* +:* usw... werden korrigiert.

',' wird ignoriert.

Mehrfache Leerzeichen (Bsp.: "dir     *.*") werden vernichtet. (-> "dir *.*")
Fhrende/nachfolgende Leerzeichen werden gelscht. "   dir *.* " -> "dir *.*"

rd  verz\verz\   wird korrigiert zu:   rd  verz\verz
dir verz\verz\   wird korrigiert zu:   dir verz\verz

Fehlerkorrektur umgehen:

Wenn Sie verhindern wollen, da z.B. "win#" zu "win" korrigiert wird,
weil Sie z.B. eine Batch-Datei namens "win#" aufrufen wollen, dann knnen
Sie "DONTCHANGE win#" tippen.
Sie werden jetzt sagen: 'Das ist ja vielleicht umstndlich! Ich mu also
jedesmal DONTCHANGE dem Befehl voranstellen!'.
Aber keine Panik!
Es geht auch eleganter, da die Alias-Funktion noch aktiv ist.
Definieren Sie einfach den Alias:
   win#
   dontchange win#
   b
und Sie knnen in Zukunft "win#" tippen und es wird NICHT zu "win".
Bedenken Sie, da mit "DONTCHANGE" alle Korrektur-Funktionen auer den
Alias-Funktionen deaktiviert sind.
Wenn Sie fter DONTCHANGE verwenden mssen, dann knnen Sie sich auch
einen Alias definieren, wie folgt:
   !
   dontchange
   b
(Bitte nach "dontchange" ein Leerzeichen eingeben!)
Dann knnen Sie statt "DONTCHANGE win#" einfach "! win" tippen.
(Wenn Sie das Leerzeichen im Alias hinter "dontchange" nicht vergessen haben,
dann knnen Sie auch "!win" tippen.)
Sie sollten natrlich fr diesen Alias ein Zeichen verwenden, das in Ihren
Kommandos mglichst nie vorkommt, z.B.: "!" oder "=" oder ""





          6. Verwendung von Aliases:
          **************************

   1. Allgemeines:
   ***************

Sie knnen Aliases definieren. Das sind (wohl von UNIX bekannt) Text-
bzw. Befehls-Ersetzungen. Der Gedanke, der dahintersteckt ist der, da
man lange Befehle durch kurze ersetzt.
Bsp.: "scanc" satt "c:\util\scan\scan.exe c: /nomem /pause /report /bell"
Sie knnen Aliases auch dazu verwenden um hufige Tippfehler, die die
automatische Fehlerkorrektur nicht erkennt, zu ersetzen.
Bsp.: Wenn Sie hufig bei dem Befelg "dir" vertippen und immer "dirt" tippen,
      dann knnen Sie einen Alias "dirt" definieren, der durch "dir" erestzt
      wird.

    2. Struktur des Alias-Files:
    ****************************

Das Alias-File ist ein ganz normales Textfile.
Es hat folgende Struktur:

<aliastext1>
<ersatztext1>
<option1>
<Leerzeile1>
<aliastext2>
<ersatztext2>
<option2>
<Leerzeile2>
<aliastext3>
<ersatztext3>
<option3>
<Leerzeile3>

usw...


Ein Beispiel:
q
quit
x

merm
mem
b

d
dir /P
x


Vergessen Sie bitte die Leerzeile am Datei-Ende nicht.
Vergessen Sie bitte auch die Leerzeile zwischen den einzelnen Alias-Blcken
nicht. Die Struktur mit diesen Dreier-Blcken erscheint zwar auf den ersten
Blick etwas umstndlich. Es hat aber den groen Vorteil, da Sie JEDES (!)
Zeichen im Aliastext und im Ersatztext verwenden knnen, ohne sich
irgendwelche Escape-Codes merken zu mssen.

Die mglichen Optionen:
  a = Jedes Vorkommen ersetzen. (Also alles)
  b = Nur am Zeilenbeginn ersetzen
  x = Exakte Ersetzung (Komplette Eingabe ist Alias)

Erklrung:
a: Das werden Sie wohl kaum brauchen, da hier smtliche Vorkommen ersetzt
   werden.
   Bsp.:
      e
      exit
      a
   Hat die Wirkung, da alle 'e' durch 'exit' ersetzt werden.
   Wenn Sie also "cd c:\win\temp" eingeben, dann wird es ersetzt durch
                 "cd c:\win\texitmp", was ja wohl ungewollt ist.
   Die Option 'a' ist also besser fr lngere Texte geeignet.
   Einmal angenommen Sie tippen immer "pictrues" statt "pictures", dann
   knnte der folgende Alias eine Lsung sein:
      pictrues
      pictures
      a
   Wenn Sie z.B. "cd c:\source\pictrues\gifs" tippen, dann wird es durch
                 "cd c:\source\pictures\gifs" ersetzt.

b: Eresetzt nur Vorkommen am Zeilenanfang.
   Diese Option werden Sie wohl am hufigsten brauchen.
   Bsp.:
      dir
      dir /P
      b
   Hat die Wirkung: Bsp.: "dir *.bak" -> "dir /p *.bak"

x: Ersetzt nur, wenn die Eingabe eXakt dem Alias entspricht.
   Diese Option werden Sie auch hufig brauchen.
   Bsp.:
   scanc
   scan c: /nomem /pause /report c:\report.rep
   x
   Wenn Sie also "scanc" tippen wird es ersetzt. Wenn Sie aber
   scanc *.* tippen, dann wird nichts ersetzt.


Sie knnen sich als Beispiel ja mein ALIAS-File anschauen.

Auch mehrere Kommandos knnen Sie mit einem Alias ausfhren lassen.
Wenn Sie einen Alias so definieren:
   delcopyb
   del b:\*.* ; chkdsk b: ; xcopy c:\*.* b:
   x
Sie mssen also einfach die Befehle durch ';' trennen.

Bercksichtigen Sie bitte, da das erweiterte CD-Kommando NICHT in
Kombination mit mehreren Befehlen mglich ist. Es funktioniert nur das
gewhnliche CD-Kommando, das Sie von COMMAND.COM kennen.
Das funktioniert z.B. NICHT:      dir ; cd c:\temp    ; dir
Sie mssen es so formulieren:     dir ; c: ; cd \temp ; dir





          7. Die Taschenrechner-Funktion
          ******************************

SL-Shell erkennt automatisch, ob Ihre Eingabe ein Befehl ist, oder eine
Rechnung. Dabei wird angenommen, da jedes Kommando, welches mit einer Zahl
beginnt eine Rechnung darstellt. Wenn Sie tatschlich einen Befehl eingeben
wollen, der mit einer Zahl beginnt (z.B.: 2DISK *.* ), dann mssen Sie dieses
Kommando mit "DONTCHANGE" eingeben.
(Siehe: "Automatische Fehlerkorrektur: Fehlerkorrektur umgehen")

Als Tachenrechner mssen Sie ein externes Programm einbinden. Das geschieht
mittels der SL-UTILS.INI.
Allgemein ist diese INI im Kapitel "Die Initialisations-Datei: SL-UTILS.INI"
erklrt.
Beispiel: Mit dem Eintrag:
   Calculator=c:\progs\calc.exe
fordern Sie SL-Shell auf, das Programm CALC.EXE als Taschenrechner zu
verwenden.
Es gibt auf dem Shareware-/Freeware-Markt genug Kommandozeilen-Rechner,
die als Parameter eine Formel oder Rechnung bernehmen und dann ein
Ergebnis berechnen.
Ich empfehle: OCTO, erhltlich z.B. auf:
ftp.leo.org:/pub/comp/platforms/pc/msdos/utils/calculator/octo100b.zip





          8. Tips und Tricks
          ******************

Frage:   Ich mchte ein Kommando oder eine Kommando-Folge mehrmals
         automatisch wiederholen, z.B.:
         xcopy b:\*.* c:\temp
         del b:\*.*
         chkdsk b:
Antwort: Sie tippen ganz einfach:
         xcopy b:\*.* c:\temp ; del b:\*.* ; chkdsk b: ; echo nchste disk ; pause ; %cptempfile%
         Das "%cptempfile%" am Schluss bewirkt, da die komplette Zeile von
         vorne beginnend immer wiederholt wird.




          A. Danksagungen
          ***************

Ich mchte hiermit allen Alpha-Testern danken, die mit teilweise stark
fehlerhaften Versionen und nur rudimentr funktionierenden Versionen
(wie z.B. 0.01) gearbeitet haben und mir damit aber eine groe Hilfe in
der Weiterentwicklung waren.
Ich danke auch allen Beta-Testern, die in "fertigen" Versionen noch kleine
Unstimmigkeiten gefunden haben, und die Fehler mir so detailliert
geschildert haben, da ich in der Lage war, die Fehler zu beseitigen.
Desweiteren will ich allen Anwendern von SL-Shell danken, die mir immer
wieder Inspirationen fr neue Features von SL-Shell geben.
Und schlielich danke ich Ihnen! Erstens dafr, da Sie diese Anleitung
bis hier gelesen haben und zweitens, da Sie SL-Shell verwenden.





          B. Verbesserungsvorschlge
          **************************

Verbesserungsvorschlge und Ideen fr neue Features sind mir jederzeit
willkommen.
Wenn Sie Fehler finden, dann zgern Sie bitte nicht und teilen mir diese mit.
Dazu brauche ich von Ihnen:
- Genaue Fehlerbeschreibung (evtl. Bildschirm-Hardcopy)
- Welches Betriebssystem verwenden Sie? (MSDOS, Novell-DOS, IBM-DOS, PTS-DOS,
  Windows, OS/2, Win95, NT, ...)
- Ihre Betriebssystem-Version





          C. Bekannte Probleme und deren Lsung:
          **************************************

-  Das History-File wird immer grer und grer (Klar!) und der Zugriff
   auf alte Kommandos dauert etwas lnger als sonst.
   Abhilfe: Verwenden Sie das Programm DOPPEL um alle doppelten Zeilen
   zu elimieren.
   Es gibt inzwischen zwei Versionen von Doppel:
   1. Die BorlandPascal-Version DOPPEL0.EXE (alt)
      Vorteil:  Sie knnen sie sofort benutzen.
      Nachteil: Extrem lange Laufzeit wegen schlechter Implementierung.
   2. Die PERL-Version DOPPEL.BAT
      Vorteil:  Extrem schnell.
      Nachteil: Sie bentigen PERL. (Was ich aber jedem empfehlen kann.)
      PERL ist eine interpretierte Sprache und gibt es z.B. auf:
      ftp.leo.org:/pub/comp/platforms/pc/msdos/programming/perl/bperl4x.zip
   Auerdem knnen Sie die Batchdatei "tidy-up.bat" nach Ihren Wnschen
   editieren und starten. Bitte sind Sie vorsichtig damit.
   Legen Sie am besten vorher eine Sicherungskopie Ihres History-Files an.

-  Wenn auf der Platte, auf der temporre Dateien gespeichert werden kein
   freier Platz mehr ist, dann funktioniert SL-Shell nicht mehr.
   Das liegt aber daran, da DOS keine Pipes mehr verarbeiten kann, wenn
   die Platte voll ist und abstrzt. SL-Shell verhindert zwar erfolgreich
   den DOS-Absturz, kann aber selbst in der Regel nicht mehr funktionieren.
   Beenden Sie dann SL-Shell und schaffen Sie mehr freien Platz auf der
   Platte.

-  Manchmal ergibt sich beim Wechseln auf ein CD-ROM-Laufwerk ein Fehler.
   Ich konnte diesen Fehler bisher aber leider noch nicht lokalisieren.

-  Manchmal passiert bei der automatischen Filesystemergnzung bei Drcken
   von TAB nichts. Das ist abhngig vom Betriebssystem und von Zustand des
   Filesystems. Wenn die Platte z.B. defragmentiert, dann tritt dieser
   Fehler nicht mehr auf. Solange ich dieses Problem nicht 100%-ig
   reproduzieren kann, kann ich es leider nicht ndern.

-  Fehler, die keine Fehler sind, sondern nur fehlende Features oder
   noch unvollstndige Funktionen sind finden Sie im Folgenden:





          D. Geplante Features
          ********************

-  Aliases mit Parametern
-  Alias-Ersatz-Meldung optional unterdrcken.
-  Funktionstasten belegen ber INI
-  Filesystem-Ergnzung in der Mitte der Zeile





          E. Versions-Historie
          ********************

Version 0.01 bis 0.97:
Nicht verffentlicht.
Nur Versuchs-Stadium.

Version 0.98: (Erste ffentliche Version)
- Externe Bildschirmschoner (auch mit Parameter) mglich.
- Probleme mit MSDOS und abschlieendem "\" behoben (hoffentlich). :-)
- Fehler bei Kommandozeilen, die genau 255 Zeichen lang sind behoben.
- demo.bat demonstriert jetzt auch Aliases, falls vorhanden.
- Befehlswiederholungen sind mglich mittels %cptempfile%.
- WHEREISFILE jetzt mit korrekter Ausgabe bei Files im Root
  (es waren manchmal '\\')
- demo.bat funktioniert jetzt auch im Root.
- Fehler beim Wechsel auf ungltige Laufwerke korrigiert.
- Interner Bildschirmschoner reagiert jetzt auch auf die Maus.

Version 0.99:
-  Die automatische Filesystem-Ergnzung (mit der Tabulator-Taste) zeigt
   jetzt nicht mehr den Volume-Label an. Allerdings lt sich nicht beheben,
   da manchmal bei TAB nichts passiert. Das ist abhngig vom Betriebssystem
   und von Zustand des Filesystems. Wenn die Platte z.B. defragmentiert,
   dann tritt dieser Fehler nicht mehr auf. Solange ich dieses Problem nicht
   100%-ig reproduzieren kann, kann ich es leider nicht ndern.
-  Wenn man als HISTFILE=D:\TEMP, also ein Verzeichnis angibt, dann gibt es
   jetzt keinen RunTimeError mehr. Dasselbe passierte bei ALIASFILE.
-  Man kann jetzt Programme aufrufen, die mit "CD" beginnen. Vorher wurde
   versucht, z.B. bei "CDPLAYER" ins Verzeichnis "PLAYER" zu wechseln.
   Allerdings gibt es jetzt nicht mehr die Fehlerkorrektur, die aus
   "cdg:\temp\" ein "cd g:\temp\" macht!
-  Es gibt jetzt keinen internen Taschenrechner mehr!
   Dafr ist es jetzt mglich ein beliebiges externes Programm als Taschen-
   rechner zu verwenden. Es gibt auf dem Shareware-/Freeware-Markt genug
   Kommandozeilen-Rechner, die als Parameter eine Formel oder Rechnung
   bernehmen und dann ein Ergebnis berechnen.
   Nheres dazu siehe Kapitel "Die Taschenrechner-Funktion"
-  Die Tastatur-Wartschleife, die auf Eingaben des Benutzers wartet wurde
   komplett berarbeitet. Es wird wie auch vorher Rechenzeit an Multitasker,
   wie Windows oder OS/2 abgegeben. SL-Shell verbraucht unttig im
   Hintergrund genausoviel, die der normale COMMAND.COM, nmlich ca. 4%
   CPU-Leistung. Neu ist jetzt auch die Rechenzeitabgabe an DOS-TSRs.
   Das ermglicht z.B. SmartDrive den Schreibcache im Hintergrund auf Platte
   zu schreiben.

Version 1.0:
-  Namensnderung aus wettbewerbsrechtlichen Grnden: Neuer Name: "SL-Shell"
-  Aliases werden jetzt nicht mehr expandiert in den History gespeichert.
-  Es jetzt zwei Versionen von Doppel:
   1. Die BorlandPascal-Version DOPPEL0.EXE (alt)
      Vorteil:  Sie knnen sie sofort benutzen.
      Nachteil: Extrem lange Laufzeit wegen schlechter Implementierung.
   2. Die PERL-Version DOPPEL.BAT
      Vorteil:  Extrem schnell.
      Nachteil: Sie bentigen PERL. (Was ich aber jedem empfehlen kann.)
      PERL ist eine interpretierte Sprache und gibt es z.B. auf:
      ftp.leo.org:/pub/comp/platforms/pc/msdos/programming/perl/bperl4x.zip
