SL-Shell - Eine Shell fr den COMMAND.COM von Stephan L”scher Version 1.0 Eine juristische Bemerkung zu Anfang: Die Bezeichnung "SL-Shell" ist die Abkrzung von "Stephan L”scher's Shell". Auch wenn im Folgenden und in der eigentlichen Software von "SL-Shell" die Rede ist, ist damit die Software mit Namen "Stephan L”scher'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 L”scher'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 k”nnen alle Dos-Befehle verwenden (auch SET !) - Ihre bereits eingegebenen Kommandozeilen (History) werden gespeichert und stehen beim n„chsten Rechner-Neustart wieder zur Verfgung. - Groáe Fehlertoleranz bei Tippfehlern. - Alias-Definitionen. - Zusatz- und Korrektur-Funktionen abschaltbar. - Mehrere Kommandos durch ';' getrennt m”glich. - Kommandozeilen-Erg„nzung aus dem Dateisystem. - Rechenzeitabgabe unter Multitaskern (Windows, OS/2, ...) - Taschenrechner. - Integrierter Bildschirmschoner. (Auch externe m”glich) - Integrierter Environment-Editor. Copyright (c) 1994-1996 by Stephan L”scher - alle Rechte vorbehalten Meine Adresse: Stephan L”scher, Dr.Troll-str. 3, 82194 Gr”benzell, Deutschland Internet EMail: loescher@leo.org WWW: http://www.leo.org/~loescher/ Sie k”nnen 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 v”llig neue Dimension des Archiv-Zugriffs aus: http://www.leo.org/archiv/ Dieses Programm ist Shareware. Sie k”nnen 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 k”nnen (abgesehen von den sowieso anfallenden Benutzungsgebhren der BBS). Sogenannte "Aufwandsentsch„digungen" fr das Kopieren, die (anteilig) bis zu 5 DM betragen drfen, sind zul„ssig. * Nur das Original-Paket darf weitergegeben bzw. verteilt werden, das alle Dateien enth„lt. * 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 ver”ffentlichen wollen, bitte ich darum, mir ein kostenloses Exemplar des CD-ROMs/Buchs zuzusenden (dies ist kein Muá, ich wrde es aber sehr begráen). 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 L™SCHER) šBERNIMMT KEINERLEI HAFTUNG FšR IRGENDWELCHE SCHŽDEN ODER DATEN-VERLUSTE, DIE DURCH DIE VERWENDUNG DIESES PROGRAMMS ODER DURCH DIE UNFŽHIGKEIT, 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 M™GLICHERWEISE GEBRACHT WIRD, KANN ICH NICHT FšR DIE EIGNUNG FšR EINEN BESTIMMTEN ZWECK GARANTIEREN. TESTEN SIE DIESES PROGRAMM BITTE AUSFšHRLICH MIT UNKRITISCHEN DATEN, BEVOR SIE SICH AUF SEINE FUNKTIONALITŽT VERLASSEN. Dieses Programm ist preiswerte Shareware. Trotzdem ist das Programm in seiner Funktionalit„t NICHT eingeschr„nkt! 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, uneingeschr„nkt zu nutzen und zweitens bedenken Sie, daá es nicht zul„ssig 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 L”scher, ganz oder teilweise auf jegliche Art (elektronisch, mechanisch, magnetisch, optisch, manuell usw.) vervielf„ltigt, bertragen, umgeschrieben, in einem Retrieval-System gespeichert oder in andere Sprachen bersetzt werden. Wenn Sie denken, daá diese Kopie der Software in irgendeiner Form ver„ndert wurde, dann informieren Sie mich bitte umgehend! Z”gern Sie bitte keinen Augeblick mich zu informieren. Denken Sie daran: Diese Software soll allen in der Original-Form zug„nglich sein, also akzeptieren Sie bitte keine modifizierte oder besch„digte Version dieser Software. Sie drfen diese Software oder diese Anleitung in keiner Weise ver„ndern, decompilieren, disassemblieren, oder auf andere Weise einer "reverse-engineering"-Methode unterziehen. Der Autor beh„lt 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-Vorschl„ge nehme ich dankend entgegen. (Wenn m”glich 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. Verbesserungsvorschl„ge C. Bekannte Probleme und deren L”sung D. Geplante Features E. Versions-Historie 1.1. Installation von SL-Shell: ******************************* SL-Shell.BAT und SLSH.EXE mssen sich auf dem Pfad befinden. Auáerdem mssen folgende Environment-Variablen definiert werden: SET HISTFILE=... History-File mit Pfadangabe. SET TEMP=... tempor„res Verzeichnis. SET COMSPEC=... COMMAND.COM mit Pfadangabe. SET SLINI=... Pfadangabe fr SL-UTILS.INI Optional k”nnen Sie folgende Environment-Variablen definieren: SET FTEMP=... tempor„res 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 tempor„ren Laufwerks KEINEN abschlieáenden "\" 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 k”nnen 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, auáer Sie haben PEXEC definiert. Dann k”nnen Sie ganz beruhigt Ihre Batch-Dateien wie gewohnt mit Break abbrechen und SL-Shell l„uft trotzdem weiter. Ich weiss leider nicht, welche DOS-Versionen $X mit PEXEC untersttzen. DRDOS 6.0 und h”her 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 k”nnen, daá Ihre Kommandos nach dem n„chsten 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 k”nnen 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 erh”ht 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 k”nnen 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 Eintr„ge. Den Bildschirmschoner k”nnen 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" k”nnen 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" k”nnen 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 zul„ssig: 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. (N„heres hierzu siehe Kapitel: "Die Taschenrechner-Funktion".) 1.3. Installation von SL-Shell unter MS-Windows 3.xx **************************************************** Sie k”nnen als PIF-Datei die mitgelieferte Datei: SL-Shell.PIF verwenden und im Programm-Manager mit dem Icon: SL-Shell.ICO eintragen. Fr m”gliche Probleme bitte ich Sie das folgende Kapitel zu beachten! Bedenken Sie auch, daá Sie sehrwohl Windows von SL-Shell aus aufrufen k”nnen, 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 l„uft sehr gut mit Multitasking-Systemen. Sie k”nnen 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 l„uft SL-Shell einwandfrei. Einzig und allein in Batch-Dateien k”nnen 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 l„uft 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 tempor„ren Laufwerks l”schen und vorher SL-Shell nicht beendet haben. Das hat aber keinerlei Auswirkung. 2. Neue Kommandos ***************** Es sind folgende SL-Shell-Kommandos m”glich: HELP: Damit erhalten Sie jederzeit eine kurze šbersicht aller verfgbarer Funktionen (Tastatur und Kommandos) STATISTIK: Zeigt eine kleine Statistik an. DONTCHANGE: Nachfolgendes Kommando wird unver„ndert ausgefhrt. (Erkl„rung 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 k”nnen 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 gew„hlt, 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 k”nnen 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 k”nnen 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 k”nnen 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 vollst„ndig installiert werden. Das ist fr die Benutzer gedacht, die SL-Shell-interne Funktionen in Batchdateien verwenden wollen. 3. Tastatur-Funktionen ********************** CursorUp/Down: Im History bl„ttern. CRTL+R oder F8: Kommando durch Kommando aus dem History erg„nzen. Beispiel: Sie haben irgendwann das Kommando: "chkdsk c: /f" getippt. Dann k”nnen 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 l”schen. CRTL+Y / ESC : Ganze Zeile l”schen. TAB: Kommando erg„nzen 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 erg„nzt. 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 n„chsten, dann drcken Sie einfach mehrmals auf die TAB-Taste. Shift+TAB: Funktion wie TAB, nur rckw„rts. Es wird also das letzte Vorkommen im Datei-System erg„nzt. Sie k”nnen mit TAB und Shift+TAB also auch vorw„rts und rckw„rts bl„ttern. 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 m”glich ist. Es funktioniert nur das gew”hnliche 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:\winásystem -> cd c:\win\system ) Alle Varianten wie: +:+ *:* +.* +:* usw... werden korrigiert. ',' wird ignoriert. Mehrfache Leerzeichen (Bsp.: "dir *.*") werden vernichtet. (-> "dir *.*") Fhrende/nachfolgende Leerzeichen werden gel”scht. " 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 k”nnen Sie "DONTCHANGE win#" tippen. Sie werden jetzt sagen: 'Das ist ja vielleicht umst„ndlich! 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 k”nnen in Zukunft "win#" tippen und es wird NICHT zu "win". Bedenken Sie, daá mit "DONTCHANGE" alle Korrektur-Funktionen auáer den Alias-Funktionen deaktiviert sind. Wenn Sie ”fter DONTCHANGE verwenden mssen, dann k”nnen Sie sich auch einen Alias definieren, wie folgt: ! dontchange b (Bitte nach "dontchange" ein Leerzeichen eingeben!) Dann k”nnen Sie statt "DONTCHANGE win#" einfach "! win" tippen. (Wenn Sie das Leerzeichen im Alias hinter "dontchange" nicht vergessen haben, dann k”nnen Sie auch "!win" tippen.) Sie sollten natrlich fr diesen Alias ein Zeichen verwenden, das in Ihren Kommandos m”glichst nie vorkommt, z.B.: "!" oder "=" oder "„" 6. Verwendung von Aliases: ************************** 1. Allgemeines: *************** Sie k”nnen 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 k”nnen Aliases auch dazu verwenden um h„ufige Tippfehler, die die automatische Fehlerkorrektur nicht erkennt, zu ersetzen. Bsp.: Wenn Sie h„ufig bei dem Befelg "dir" vertippen und immer "dirt" tippen, dann k”nnen 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: 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-Bl”cken nicht. Die Struktur mit diesen Dreier-Bl”cken erscheint zwar auf den ersten Blick etwas umst„ndlich. Es hat aber den groáen Vorteil, daá Sie JEDES (!) Zeichen im Aliastext und im Ersatztext verwenden k”nnen, ohne sich irgendwelche Escape-Codes merken zu mssen. Die m”glichen Optionen: a = Jedes Vorkommen ersetzen. (Also alles) b = Nur am Zeilenbeginn ersetzen x = Exakte Ersetzung (Komplette Eingabe ist Alias) Erkl„rung: a: Das werden Sie wohl kaum brauchen, da hier s„mtliche 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 l„ngere Texte geeignet. Einmal angenommen Sie tippen immer "pictrues" statt "pictures", dann k”nnte der folgende Alias eine L”sung 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 h„ufigsten 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 h„ufig 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 k”nnen sich als Beispiel ja mein ALIAS-File anschauen. Auch mehrere Kommandos k”nnen 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 m”glich ist. Es funktioniert nur das gew”hnliche 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 tats„chlich 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" erkl„rt. 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, erh„ltlich z.B. auf: ftp.leo.org:/pub/comp/platforms/pc/msdos/utils/calculator/octo100b.zip 8. Tips und Tricks ****************** Frage: Ich m”chte 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 n„chste disk ; pause ; %cptempfile% Das "%cptempfile%" am Schluss bewirkt, daá die komplette Zeile von vorne beginnend immer wiederholt wird. A. Danksagungen *************** Ich m”chte hiermit allen Alpha-Testern danken, die mit teilweise stark fehlerhaften Versionen und nur rudiment„r funktionierenden Versionen (wie z.B. 0.01) gearbeitet haben und mir damit aber eine groáe 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 schlieálich danke ich Ihnen! Erstens dafr, daá Sie diese Anleitung bis hier gelesen haben und zweitens, daá Sie SL-Shell verwenden. B. Verbesserungsvorschl„ge ************************** Verbesserungsvorschl„ge und Ideen fr neue Features sind mir jederzeit willkommen. Wenn Sie Fehler finden, dann z”gern 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 L”sung: ************************************** - Das History-File wird immer gr”áer und gr”áer (Klar!) und der Zugriff auf alte Kommandos dauert etwas l„nger 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 k”nnen sie sofort benutzen. Nachteil: Extrem lange Laufzeit wegen schlechter Implementierung. 2. Die PERL-Version DOPPEL.BAT Vorteil: Extrem schnell. Nachteil: Sie ben”tigen 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 Auáerdem k”nnen 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 tempor„re 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 Filesystemerg„nzung bei Drcken von TAB nichts. Das ist abh„ngig 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 unvollst„ndige Funktionen sind finden Sie im Folgenden: D. Geplante Features ******************** - Aliases mit Parametern - Alias-Ersatz-Meldung optional unterdrcken. - Funktionstasten belegen ber INI - Filesystem-Erg„nzung in der Mitte der Zeile E. Versions-Historie ******************** Version 0.01 bis 0.97: Nicht ver”ffentlicht. Nur Versuchs-Stadium. Version 0.98: (Erste ”ffentliche Version) - Externe Bildschirmschoner (auch mit Parameter) m”glich. - Probleme mit MSDOS und abschlieáendem "\" behoben (hoffentlich). :-) - Fehler bei Kommandozeilen, die genau 255 Zeichen lang sind behoben. - demo.bat demonstriert jetzt auch Aliases, falls vorhanden. - Befehlswiederholungen sind m”glich 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-Erg„nzung (mit der Tabulator-Taste) zeigt jetzt nicht mehr den Volume-Label an. Allerdings l„át sich nicht beheben, daá manchmal bei TAB nichts passiert. Das ist abh„ngig 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 m”glich 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. N„heres 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 unt„tig im Hintergrund genausoviel, die der normale COMMAND.COM, n„mlich ca. 4% CPU-Leistung. Neu ist jetzt auch die Rechenzeitabgabe an DOS-TSRs. Das erm”glicht z.B. SmartDrive den Schreibcache im Hintergrund auf Platte zu schreiben. Version 1.0: - Namens„nderung 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 k”nnen sie sofort benutzen. Nachteil: Extrem lange Laufzeit wegen schlechter Implementierung. 2. Die PERL-Version DOPPEL.BAT Vorteil: Extrem schnell. Nachteil: Sie ben”tigen 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