Shell
Zurück Nach oben Vorwärts

Kurzbeschreibung Parameter Funktionsweise Ein/Ausgänge Limitierungen Querverweise Beispiele

Kurzbeschreibung
Das Modul Shell ermöglicht einen Zugriff auf die Kommandozeile (über Kommando-Shell) des lokalen Rechners.
Parameter
Parameter: Parameterquelle intern, extern oder Datenbank.
Startinfo anzeigen: Nachdem eine Kommando-Shell geöffnet wurde, wird der Infotext angezeigt.
Startpfad: Dieses Verzeichnis wird beim Öffnen einer Kommando-Shell angezeigt.
ASCII in ANSI konvertieren: Die Kommando-Shell verwendet ASCII-Kodierung. Um eine richtige Darstellung der Umlaute (in Windows-Programmen, z.B. Telnet) zu bekommen, ist die Konvertierung einzuschalten.
Funktionsweise
Mit diesem Modul können gleichzeitig bis zu 1024 Kommando-Shells zu dem lokalen Computer geöffnet werden. Eine Kommando-Shell ist vergleichbar mit einer Eingabeaufforderung. Jede Kommando-Shell wird durch eine eindeutige ID (0-1023) gekennzeichnet.
Das Modul ist - bis auf die Authentifizierung - identisch zu ShellNT. Es ist jedoch auch unter Win95 und Win98 lauffähig.
Um eine Kommando-Shell zu öffnen, ist am Open-Eingang eine neue ID zu schicken. An den Ausgängen ID und Data wird die Ausgabe der Command-Shell (Befehlsausgaben, ...) geschrieben. An den ID und Data-Eingängen werden die Befehle geschickt (z.B. Kommandos). Eine offene Shell kann über den Close-Eingang geschlossen werden, oder auch aus der Shell heraus (Exit-Kommando, siehe MSDOS-Beschreibung). Nach dem Schließen wird am Close-Ausgang die ID ausgegeben. Bei einem Fehler wird die Shell auch geschlossen und am Fehlerausgang wird der Fehlertext ausgegeben, bzw. wenn dieser nicht verdrahtet ist, wird der Text in einem Fehlerfenster angezeigt und der Signalgraph gestoppt.
Da das Modul Shell keine Tastatureingaben wieder ausgibt, ist für die Ausgabe selbst zu sorgen (lokales Echo).
Die Kommando-Shell gibt alle Eingaben an den Kommandointerpreter von Windows weiter, d.h. alle Befehle und Kommandos sind in der Befehlsreferenz von Windows nachzulesen. Übliche Befehle sind: dir, copy, del, md, rd, cd, ...
Es können in der Kommando-Shell auch Programme gestartet werden (z.B. chkdsk, explorer). Jedoch ist bei Programmen mit graphischer Oberfläche darauf zu achten, daß sie nach dem Start von der Kommando-Shell aus nicht mehr bedient oder beendet werden können. Nur textbasierte Programme, die keine graphische Ausgabe haben, können damit gesteuert werden.
Ein-/Ausgänge
Eingänge  
EXT, DB SWORD{show_startinfo}, UBYTE[]{start_path}, SWORD{ascii2ansi} Parametrierung des Moduls über externe Quellen wie ParamConv oder DBLoad
Open TYPEINFO{TypeInfo}
SWORD[]{SCALAR}
Nummer der zu öffnenden Kommando-Shell
Close TYPEINFO{TypeInfo}
SWORD[]{SCALAR}
Nummer der zu schließenden Kommando-Shell
ID TYPEINFO{TypeInfo}
SWORD[1]{SCALAR}
Shell-ID
Data TYPEINFO{TypeInfo}
UBYTE[]{Text}
Shell-Kommando
Ausgänge
Close TYPEINFO{TypeInfo}
SWORD[]{SCALAR}
Nummer der geschlossenen Kommando-Shell
ID TYPEINFO{TypeInfo}
SWORD[1]{SCALAR}
Shell-ID
Data TYPEINFO{TypeInfo}
UBYTE[]{Text}
Shell-Ausgabetext
Error TYPEINFO{TypeInfo}
UBYTE[]{Text}
Fehlertext
Limitierungen
keine
Querverweise
TCPServer, ShellNT, Windows Referenz, telnet-Befehl (Windows)
Beispiele
Dieses Beispiel zeigt einen einfachen Signalgraphen, der eine Remote-Shell zur Verfügung stellt. Der TCPServer ist auf Kanal 23 eingestellt (Telnet) und wartet auf Verbindungsanfragen. Wenn (z.B. über Telnet) eine Anfrage gemacht wird, wird über den Open-Eingang eine Kommando-Shell erzeugt. Die Ausgabe der Shell wird über den TCPServer zurück zum Client geschickt, Befehle vom Client über den TCPServer zum Shell Modul weitergeleitet. Zu Testen ist dieses Beispiel mittels dem Programm telnet: telnet <Computername, auf dem der Signalgraph läuft> (Lokales Echo nicht vergessen).
wpe2.jpg (6199 Byte)