SOG-Helpcenter Logo SOG Business - Software

sogcmdgui - Administrative Kommandooberfläche


Mit dem Programm sogcmdgui steht eine Oberfläche zur Verfügung, mit der administrative Kommandos und Programme gesucht, aufgerufen und ausgeführt werden können.

In der Funktionsweise ähnelt sogcmdgui dabei dem Standard-Windows Command-Prompt, bietet aber eine Vielzahl von Verbesserungen.

 

 

Ausgabefenster

Das Ausgabefenster ist als TextBox in die Oberfläche integriert, und kann direkt mit der Maus genutzt werden, z. B. um Daten zu markieren, und per Drag and Drop zu nutzen.

Kommandohistorie

In der Kommandohistorie wird neben dem aufgerufenen Kommando auch die durch das Kommando erzeugt Ausgabe aufbewahrt. Wird mit der Maus das Kommando erneut angeklickt, wird die alte Ausgabe wieder dargestellt. Die Kommandos werden über "{PROJ}\prc\sogcmdgui\" definiert.

Befehlsliste

in der Befehlsliste werden alle zur Verfügung stehenden Befehle aufgelistet. Befehle lassen sich entweder durch Eingabe im Kommando-Fenster starten, oder durch einen Doppelklick auf die Befehlsliste. Wird ein Befehl in der Befehlsliste markiert, wird eine kurze Beschreibung oder Hilfe zu diesem Befehl im Kommandofenster angezeigt. Über die Suchfunktion (F3) können Befehle in der Befehlsliste gesucht werden.

Verzeichnisanwahl

Die Anwahl des aktuellen Verzeichnisses erfolgt auf vielfältige Art- und Weise. Entweder können die Kommandos "cd", "ini" oder "inidev" verwendet werden, das Verzeichnis kann in der Eingabebox des aktuellen Verzeichnisses direkt verändert werden, über den Verzeichnisauswahl-Button kann ein Verzeichnisauswahl Dialog geöffnet werden, durch Verwendung der Projekt-Auswahlliste kann direkt in das Verzeichnis eines Projektes gewechselt werden, oder durch Verwendung der Auswahlfunktion an der Verzeichnis-Auswahl-Textbox (DropDown) kann in der Historie der letzten verwendeten Verzeichnisse wieder auf ein altes Verzeichnis zurückgewechselt werden.

Meta-Kommandos

Es ist eine Vielzahl von Meta-Kommandos integriert, die jeweils nicht nur ein bestimmte System-Kommando kapseln, sondern funktional gegliedert, unterschiedliche System-Funktionen für unterschiedlichen Aufgaben aufrufen. z. B. die Kommandos zu den SOG-Diensten (z. B. hhcssrv) können das entsprechende Progamm direkt starten, ggf. konfigurieren, den Dienst installieren, deinstallieren, starten, stoppen und ggf. einzelne Funktionen direkt verfügbar machen.

Kommandos mit interaktiver Parameterabfrage

Werden Kommandos verwendet, die weitere Parameter ermöglichen, erfolgt die Eingabe der Parameter (wahlweise) über Eingabemasken. Dadurch braucht der Benutzer sich keine Kommando-Optionen zu merken, oder in der Dokumentation nachzuschlagen.

Kontextsensitive Kommandoliste

Die Kommandoliste stellt sich jeweils mit dem aktuellen Projekt auf die in diesem Projekt festgelegten zusätzlichen Kommando und Meta-Kommandos ein.

UNC-Pfade

UNC-Pfadnamen werde vollständig unterstützt. UNC-Pfade können auch als aktueller Katalog verwendet werden. Hinweis: Es kann nur einen aktuellen Katalog geben. Es gibt nicht pro Laufwerk einen eigenen, aktuellen Katalog.

UAC-Kapselung

Die Kommandos, für die eine UAC-Aktivierung erforderlich ist, werden über UAC gestartet. der Output bleibt dann in einem eigenen Konsolfenster erhalten. Wahlweise kann über das Kommando "uac" eine eigene Kommando-Oberfläche gestartet werden, die selbst in UAC-Aktivierter Umgebung ausgeführt wird. Die UAC-Aktivierung für Einzelkommandos kann über die CheckBox "UAC" ein- oder ausgeschaltet werden, z. B. wenn für den aktuellen Benutzer keine UAC-Aktivierung erforderlich ist.

Ausführung als fremder Benutzer

Über das Kommando "runas" kann eine Ausführung von Kommandos unter einem fremden Benutzer durchgeführt werden. Dabei wird jeweils eine eigene Kommandoumgebung für den Benutzer gestartet. Wahlweise kann dabei ein Startscript angegeben werden, dass noch weiter Initialisierungen durchführt. Für Informix ist der Aufruf einer Informix-Standardumgebung möglich, in der dann direkt die Informix-Administrationskommandos verwendet werden können.

 

Besonderheiten der Bedienung

 

 

Auf/Ab - Pfeiltasten

Mit den Pfeiltasten Auf/Ab wird in der Kommandohistorie auf- und abgeblättert. Das gewählte Kommando wird wieder in die Kommando-Eingabebox geladen. Drücken Sie "Enter" um das Kommando erneut durchzuführen.
Hinweis: Die Auf- und Abtasten funktionieren nur solang für die Historier, bis Sie beginnen ein Kommando einzugeben. Sobald Sie Eingaben im Kommandoeingabefenster getätigt haben, wirken die Auf- und Abtasten innerhalb dieses Eingabefensters. Löschen Sie den Inhalt des Eingabefensters um erneut in der Historie blättern zu können.

F3 - Kommandosuche

Mit der Taste F3 wird der Eingabefocus in die Kommandosuche gesetzt.
Geben Sie dort einen Teilbegriff eines Kommandos ein, um die Liste der Kommandos auf den gesuchten Begriff einzuschränken.
Lösen Sie nun mit "Enter" aus, um den Eingabefocus auf die Kommandoliste zu setzen. Cursor auf/ab ermöglich dann die Anwahl des korrekten Kommandos.
Lösen Sie erneut mit "Enter" aus, um das Kommando in das Kommando-Eingabefenster zu laden.
Lösen Sie noch einmal mit "Enter" aus, um das Kommando aufzurufen.

F4 - Verzeichnisanwahl

Durch Drücken von F4 wird der Eingabefocus auf die Verzeichnisanwahl gesetzt.
Drucken Sie erneut F4 um die Verzeichnishistorie aufzuklappen, und eines der vorher verwendeten Verzeichnisse erneut einzustellen.

F5/Tab - Pfadnamenerweiterung

Geben Sie den Anfang eines Dateinamens ein, und drücken Sie dann F5 oder Shift-F5, Tab oder Shift-Tab um durch eine Liste von Möglichen Dateinamenerweiterungen zu blättern.
Beispiel: dir c:\temp\x<F5>
Erweiter die Eingabe um die erste Datei, im Verzeichnis "c:\temp" die mit einem "x" beginnt. Weiteres Drücken der F5-Taste blättert durch die Liste aller Dateien, die mit F5 beginnen.

F8 - Kommandosuche

Geben Sie den Anfang eines Kommando ein, und drücken Sie dann F8 um durch die Kommandohistorie zu blättern. Es werden die Kommando angezeigt, die mit dem eingegebenen Text beginnen.

ESC - Abbrechen der aktuellen Eingabe/Funktion

Mit der Taste ESC wird die Kommando-Eingabebox gelöscht, und der Focus zurück auf diese gesetzt.

TAB - Focus auf Kommandoeingabe

Durch Drücken der TAB-Taste wird der Eingabefocus immer wieder direkt auf die Kommando-Eingabebox gesetzt.

Ctrl-A

Markieren der gesamten Textes der aktuellen Textbox (Kommandoeingabe oder Kommandoausgabe)

Ctrl-O

Wechseln zwischen Kommando-Eingabe und Kommando-Ausgabebox.

Ctrl-E

Start eine Windows-Explorers im aktuellen Verzeichnis.

Ctrl-N

Start eines "notepad". In der Kommandoeingabebox wird ein leeres Notepad gestartet. In der Kommando-Ausgabebox wird der aktuelle Inhalt der Kommandoausgabe in eine Temp-Datei geschrieben, und in einem Notepad geöffnet. Achtung: Die Temp-Datei wird nicht wieder gelöscht. Ist Text markiert, wird nur der markeirte Text übernommen. Das tatsächlich gestartete Programm kann über die Variable "SOGCmdGui_Editor" eingestellt werden.

Schaltfläche Löschen

Die Schaltfläche löschen, kann mehrfach betätigt werden. Wird ein Fehlerstatus signalisiert, so entfernt das erste Auslösen von "Löschen" die farbliche Fehlerhervorhebung. Bei zweiten Auslösen, wird die Kommandoausgabe gelöscht. Beim 3. Auslösen, die Kommandohistorie.

 

Kommandos "del" und "hhrm"

Die Kommandos "del" und "hhrm" bilden eine Sonderfunktion, die direkt von "sogcmdgui" implementiert sind.
Die Kommandos erstellen jeweils eine Liste der betroffenen Dateien, und zeigen diese dem Benutzer vor dem eigentlichen Löschen an. Der Benutzer kann den Löschvorgang nun entweder abbrechen, oder bestimmt Dateien noch aus der Liste der zu löschenden Dateien entfernen.

Kommandoprefix ! - Aufruf von externen Kommandos

Mit dem Kommandoprefix "!" wird ein externes Kommando aufgerufen.
Beispiel: !notepad.exe -xyz
Das Programm "notepad.exe" wird mit der Option -xyz aufgerufen.
Bei Verwendung von "!" wird auf das Endes des gestarteten Programms gewartet. Die Standard-Ausgabe und Standard-Fehlerausgabe des Kommandos wird im Ausgabefenster dargestellt. Eine Verbindung zur Standardeingabe besteht nicht. Für den Start des Kommandos wird immer ein Windows-Kommandointerpreter (cmd.exe) verwendet.
Mit "!" sorgen Sie außerdem dafür, dass bei einer Doppelbelegung von Kommandonamen mit internen "sogcmdgui" Kommandos und externen Programmen, das externe Programm gestartet wird (Übersteuerung von internen Kommandos).

Kommandoprefix !!- Aufruf von externen Kommandos ohne warten

Mit dem Kommandoprefix "!!" wird ein externes Kommando aufgerufen.
Beispiel: !!notepad.exe -xyz
Das Programm "notepad.exe" wird mit der Option -xyz aufgerufen.
Bei Verwendung von "!!" wird nicht auf das Endes des gestarteten Programms gewartet. Wird ein Konsolprogramm aufgerufen, wird dazu einen neue Standard-Windows-Console geöffnet, und das Programm dort ausgeführt. Standard-Eingabe, Ausgabe und Fehlerausgabe laufen in dieses Konsolfenster.

Kommandoprefix !!!- Aufruf von externen Kommandos mit UAC-Aktivierung

Mit dem Kommandoprefix "!!!" wird ein externes Kommando in UAC-Umgebung aufgerufen.
Beispiel: !!!notepad.exe -xyz
Das Programm "notepad.exe" wird mit der Option -xyz in einer UAC-Umgebung aufgerufen.
Wird ein Konsolprogramm aufgerufen, wird die Standard-Eingabe, Ausgabe und Fehlerausgabe wie gewohnt im Ausgabefenster dargestellt.

Kommandoprefix !!!!- Aufruf von Kommandos mit nicht darstellbaren Zeichen

Werden in der Kommandoeingabe nicht darstellbare Zeichen entdeckt, so werden diese durch ein "?" oder Leerschritt ersetzt, eine entsprechende Meldung angezeigt, und die Ausführung des Kommandos verhindert. Wird dem Kommando der Prefix "!!!!" vorangestellt, erfolgt keine solche Zeichenanalyse. Das Kommando wird mit den nicht darstellbaren Zeichen ausgeführt.
Beispiel: !!!!echo xyz
Das Programm "echo" wird mit den übergebenen Parametern ausgeführt, egal ob diese nicht darstellbare Zeichen enthalten, oder nicht.

Abbrechen des laufenden Kommandos

Wenn sogcmdgui auf ein gestartetes Programm/Kommando wartet, kann das laufende Programm, sowie der Wartevorgang durch klicken des "Abbrechen"-Buttons beendet werden. Das gestartete Programm wird abgebrochen, die Standard-Ausgabe/Fehlerausgabe wird geschlossen. Neue Kommandos können sofort eingegeben werden. Achtung: Wurden auf dem gestartetem Programm Nicht-Console-Programme ausgeführt, werden diese nicht automatisch mit beendet.

Erzwingen einer interaktiven Kommandoeingabe (Eingabemaske)

Kommandos können so eingestellt sein, dass auch ohne Angabe von Parametern sofort mit der Ausführung des Kommando begonnen wird. Stellen Sie ein " +" (Blank, Plus) an das Ende des Kommando, so wird eine Darstellung der Eingabemaske zu diesem Kommando erzwungen.

Batch-Verarbeitung


sogcmdgui wurde nicht entwickelt, um selbst als Batch-Prozessor aufgerufen zu werden.
Verwenden Sie zur Abarbeitung von mehreren Kommandos die Standard Windowsmöglichkeiten, wie BAT-Dateien, Windows-Power-Shell, VB-Script, SOG CSharp Script, SOGWT Scriptsprache usw.

Visualisierung einer UAC-Umgebung


Wenn sogcmdgui mit administrativen Rechten ausgeführt wird (UAC-Umgebung) wird die Kommando-Eingabebox blau dargestellt.

Eingabeaufforderung von gestarteten Prozessen


Verlangt ein im Ausgabefenster laufender Prozess eine Eingabe, so kann über die Schlatfläche "Eingabe" das Kommandoeingabefenster zur Eingabe freigeschaltet werden. Eingaben die nun dort getätigt werden, werden an den laufenden Prozess gesendet. Klicken Sie auf "Schließen" um die Standardeingabe des laufenden Prozesses zu schließen. Ist diese Standardeingabe einmal geschlossen, läuft der Prozess ohne die Möglichkeit weiterer Eingaben automatisch zu Ende.

Ist das Eingabefenster für Prozesseingaben freigeschaltet, wird es in einem rötlichen Farbton dargestellt.

Remote Verbindung


Über das Kommando "connect" kann eine Verbindung zu einem Remote-System hergestellt werden.
Während einer solchen Remote-Sitzung wirken alle Kommandos auf das Remote-System. Die sogcmdgui-Internen Kommandos ini, inidev, del und hhrm können während einer Remote-Sitzung nicht verwendet werden.
Verwenden Sie erneut das Kommando "connect" um den Remote-Verbindungsmodus wieder zu beenden.
Für eine Remote-Verbindung sind weitere Parameter erforderlich, die über eine Eingabemaske abgefragt werden. Die Parameter haben folgende Bedeutung:

 

Remote Computer

Computername oder IP-Adresse des Remotesystems.

Benutzername

Anmeldename am Remote-System. Der angegebene Benutzer muss Administrator-Rechte an dem System haben.

Passwort

Passwort für den Anmeldung. Dass Passwort wird nie gespeichert.

Remote sogcon

Pfad zur "sogcon.exe" auf dem Remotesystem. Dieses Programm wird für die Kommunikation benötigt. Es muss auf einem lokalen Laufwerk am Remotesystem liegen. Wird diese Datenfeld frei gelassen, wird versucht den Pfad automatisch durch lesen der Remote-Registry zu füllen. Hierfür kann ggf. eine extra Passwordeingabe erforderlich sein.

Localhost

Name oder IP-Adresse des lokalen Computers, aus der Sicht des Remotesystem. Lassen Sie das Feld leer, um den eigenen Computernamen zu verwenden, oder wählen Sie eine der IP-Adressen aus der Liste.

Verzeichnis

Startverzeichnis nach Verbindungsaufbau

Einstellungen


Durch Setzen von Umgebungsvariablen (z. B. über hhenv) können einige Eingenschaften von sogcmdgui verändert werden:

 

SOGCmdGui_Editor

Pfad zu einem Programm, dass an Stelle von "Notepad" bei drücken von Ctrl-N aufgerufen wird.

Interne Kommandos


Die folgenden Kommandos werden von "sogcmdgui" selbst abgehandelt:

 

cd Verzeichnis

Wechsel in das angegebene Verzeichnis

exit

Beendet eine Remoteverbindung, oder das gesamte Programm.

set [[Variable]=Wert]

Abrufen aller oder einer Variablen. Setzen des Wertes einer Variablen für Aufrufe aller folgenden Programme.

call Programm

Startet ein externes Programm.

cls

Löschen der Eingabe

connect [Server]

Stellt eine Verbindung zu einem Remotesystem her, oder beendet die laufende Verbindung.

? [Kommando]

Zeigt dir Hilfe oder eine Hilfe zu einem Kommando an.

help [Kommando]

Zeigt dir Hilfe oder eine Hilfe zu einem Kommando an.

pwd

Zeigt das aktuelle Verzeichnis an.

ini Projekt

Ermittelt den Projektpfad, und setzt das aktuelle Verzeichnis auf den ermittelten Pfad.

inidev Projekt

Ermittelt den Projektpfad des lokalen Entwicklungsverzeichnisses des Projektes, und setzt das aktuelle Verzeichnis auf den ermittelten Pfad.

iniupd Projekt

Führt das Kommando ini aus. Ruft aktuelle Quellen für das Projekt aus dem SourceSafe ab. Registriert das Projekt. Führt einen Script-Compile aus, wenn dies notwendig ist. iniupd kann nur für _local Projekte verwendet werden.

del DateiMuster

Löscht die angegebenen Dateien. Vor Ausführung des Löschvorgangs werden die betroffenen Dateinen zur Bestätigung angezeigt.

hhrm DateiMuster

Löscht die angegebenen Dateien. Vor Ausführung des Löschvorgangs werden die betroffenen Dateinen zur Bestätigung angezeigt. Die gelöschten Dateien werden in der Liste der im Projekt gelöschten Dateien eingetragen, damit der Löschvorgang später in abgeleiteten Projekten ebenfalls durchgeführt wird.

setopt status on/off

Ein- und Ausschalten von zusätzlichen Statusinformationen über Programmstarts und Beendigungen.

setopt utf8 on/off

Ein- und Ausschalten des UTF8-Modus. Im UTF8-Modus wird alle EA in UTF8-Codierung durchgeführt. u.A. auch die Ein- und Ausgabe durch Umlenkungszeichen. Die Voreinstellung dieser Option kann über die Variable "SOGSetUtf8" erfolgen.

Umleitung von standard Ein- und Ausgabe


Beim Starten von Prozessen kann deren Standardeingabe, Standardausgabe und Standardfehlerausgabe in Dateien umgeleitet werden.
Die Umleitung erfolgt durch Verwendung von Umleitungszeichen. Folgende Umleitungszeichen stehen zur Verfügung:

 

> Ausgabedatei

Umleiten der Standardausgabe in eine Datei.

>> Ausgabedatei

Umleiten der Standardausgabe in eine Datei. Die Datei wird nicht ersetzt, sondern erweitert.

< EingabeDatei

Umleiten der Standardeingabe aus einer Datei.

2> Ausgabedatei

Umleiten der Standardfehlerausgabe in eine Datei.

2>> Ausgabedatei

Umleiten der Standardfehlerausgabe in eine Datei. Die Datei wird nicht ersetzt, sondern erweitert.

2>&1

Umleiten der Standardfehlerausgabe in die Standardausgabe.

Starten von losgelösten Prozessen


Normalerweise wartet "sogcmdgui" auf das Ende von gestarteten Prozessen.
Durch Angabe von "&" hinter dem Startaufruf wird dafür gesorgt, dass "sogcmdgui" nicht aus das Ende des gestarteten Programms wartet.
Die Standardkanäle von so gestarteten Prozessen werden dabei geschlossen.

    dir &

Soll ein losgelöster Prozess gestartet werden, ohne dessen Standardkanäle zu schließen, verwenden Sie "!!".

    !! notepad

Um eine Entwicklungsumgebung in einer herkömlichen Eingabeaufforderung zu starten, verwenden sie "!! start".

    !! cmd

Initialisierung beim Programmstart


Um beim Start von sogcmdgui bestimmte Veränderungen z.B. an Umgebunsvariablen oder aktuellem Verzeichnis durchzuführen, können Initialisierungsdateien hinterlegt werden.

Diese werden während des Programmstart von sogcmdgui gelesen und interpretiert.

Mögliche Pfad sind:
 

c:\local\sogcmdgui_init.txt

AktuellesVerzeichnis\sogcmdgui_init.txt

Der Inhalt besteht aus Zeilen die Kommandos und Parameter enthalten. Leerzeilen und Zeilen die mit # beginnen, werden ignoriert.

Folgende Kommandos werden erkannt:

 

extendpath <Verzeichnis>

Erweitert die PATH Variable um das angegebene Verzeichnis.

 

cd <Verzeichnis>

Stellt den aktuellen Katalog auf das angegebene Verzeichnis.