Einzelnen Beitrag anzeigen

Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: mit der console interaktiv komunizieren

  Alt 1. Apr 2005, 13:07
Zitat von Luckie:
Kommunizier mit der Konsole über Pipes.
Hmm ich denkenicht das Ihm dieses Schlagwort "pipes" jetzt wiklcih weiterhilft...

Also ich hatte so ein Problem noch nie, ich weiß aber, das man ein CMD starten kann und auf Pipes umleiten, schau dir mal das hier an, vielleicht hilft das irgendwie:

Zitat von cmd /?:
Startet eine neue Instanz des Windows 2000-Befehlsinterpreters.

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
[[/S] [/C | /K] Zeichenfolge]

/C Führt den Befehl in der Zeichenfolge aus und endet dann.
/K Führt den Befehl in der Zeichenfolge aus und endet dann nicht.
/S Bestimmt Behandlung von Zeichenfolgen nach /C oder /K (siehe unten).
/Q Schaltet die Befehlsanzeige aus.
/D Deaktiviert die Ausführung von AutoRun-Befehlen von der Registrierung.
/A Ausgabe interner Befehle in eine Pipe oder Datei im ANSI-Format.
/U Ausgabe interner Befehle in eine Pipe oder Datei im UNICODE-Format.
/T:fg Legt die Hinter-/Vordergrundfarben fest (siehe auch COLOR /?).
/E:ON Aktiviert Befehlserweiterungen (siehe unten).
/E:OFF Deaktiviert Befehlserweiterungen (siehe unten).
/F:ON Aktiviert die Ergänzung von Datei- und Verzeichnisnamen.
/F:OFF Deaktiviert die Ergänzung von Datei- und Verzeichnisnamen.
/V:ON Aktiviert verzögerte Erweiterung von Variablen, ! wird dabei als
Trennzeichen verwendet. Zum Beispiel wird mit /V:ON die Variable
!var! zur Ausführungszeit erweitert. Im Gegensatz dazu wird bei
Verwendung der Syntax var die Variable zum Zeitpunkt der Eingabe
aufgelöst (Diese Werte können z.B. in einer FOR-Schleife
unterschiedlich sein!).
/V:OFF Deaktiviert die verzögerte Erweiterung von Variablen.

Hinweis: Mehrere Befehle, die durch das Befehlstrennzeichen "&&" getrennt
sind, werden als Zeichenfolge akzeptiert, wenn diese von Anführungsstrichen
umgeben sind. Aus Kompatibilitätsgründen hat /X die gleiche Funktion wie
/E:ON, /Y hat die gleiche Funktion wie /E:OFF, und /R hat die gleiche Funktion
wie /C. Alle anderen Optionen werden ignoriert.

Wird /C oder /K angegeben, wird der Rest der Befehlszeile nach der Option als
Befehlszeile verarbeitet, wobei folgende Logik zur Verarbeitung des doppelten
Anführungszeichens (") gilt:

1. Sind alle folgenden Bedingungen erfüllt, wird ein doppeltes
Anführungszeichen auf der Befehlszeile beibehalten:

- keine Option "/S"
- genau zwei doppelte Anführungszeichen
- keines der folgenden Zeichen zwischen den doppelten
Anführungszeichen: &<>()@^|
- es ist mindestens ein Leerzeichen zwischen den doppelten
Anführungszeichen
- die Zeichenfolge zwischen den doppelten Anführungszeichen ist der
Name einer ausführbaren Datei

2. Ist dies nicht der Fall, wird bei einem doppelten Anführungszeichen
als erstem Zeichen sowohl dieses, als auch das letzte doppelte
Anführungszeichen entfernt (und der Rest der Befehlszeile bei-
behalten).

Falls /D in der Befehlszeile NICHT angegeben wurde, sucht CMD.EXE
nach den folgenden Registrierungsvariablen. Sollten
eine oder beide vorhanden sein, werden sie zuerst ausgeführt.

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun

und/oder

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

Befehlserweiterungen sind standardmäßig aktiviert. Erweiterungen können unter
Verwendung der Option "/E:OFF" für einen bestimmten Aufruf des
Befehlsprozessors deaktiviert werden. Erweiterungen können auch für alle
Aufrufe des Befehlsprozessors deaktivieren werden, indem einer oder beide der
folgenden Werte in der Registrierung auf 0x1 oder 0x0 gesetzt werden (unter
Verwendung von REGEDT32.EXE):

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions

und/oder

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions

Die benutzerspezifischen Einstellungen (HKEY_CURRENT_USER) haben gegenüber den
Einstellungen für den Computer (HKEY_LOCAL_MACHINE) Vorrang.
Befehlszeilenoptionen haben Vorrang gegenüber den Registrierungseinstellungen.

Folgende Befehle wurden durch die Befehlserweiterungen geändert bzw. erweitert:

DEL oder ERASE
COLOR
CD oder CHDIR
MD oder MKDIR
PROMPT
PUSHD
POPD
SET
SETLOCAL
ENDLOCAL
IF
FOR
CALL
SHIFT
GOTO
START (umfasst auch Änderungen an externen Befehlsaufrufen)
ASSOC
FTYPE

Sie erhalten weitere Informationen, indem Sie den Befehlsnamen gefolgt von
"/?" eingeben.

Die verzögerte Umgebungsvariablenerweiterung ist standardmäßig NICHT aktiviert.
Die verzögerte Umgebungsvariablenerweiterung kann unter Verwendung der Option
"/V:ON" oder "/V:OFF" für einen bestimmten Aufruf von CMD.EXE
aktiviert bzw. deaktiviert werden. Die verzögerte Umgebungsvariablenerweiterung
kann auch für alle Aufrufe des Befehlsprozessors deaktiviert werden, indem
einer oder beide der folgenden Werte in der Registrierung auf 0x1 oder 0x0
gesetzt werden (unter Verwendung von REGEDT32.EXE):

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion

und/oder

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion

Die benutzerspezifischen Einstellungen (HKEY_CURRENT_USER) haben gegenüber den
Einstellungen für den Computer (HKEY_LOCAL_MACHINE) Vorrang.
Befehlszeilenoptionen haben Vorrang gegenüber den Registrierungseinstellungen.

Bei aktivierter verzögerter Umgebungsvariablenerweiterung kann das
Ausrufezeichen dazu verwendet werden, den Wert einer Umgebungsvariable zur
Laufzeit zu ersetzen.

Die Namenergänzung für Dateien und Verzeichnisse ist standardmäßig NICHT
aktiviert. Sie kann unter Verwendung der Option "/F:ON" oder "/F:OFF" für einen
bestimmten Aufruf von CMD.EXE aktiviert bzw. deaktiviert werden. Die
Namenergänzung kann auch für alle Aufrufe von CMD.EXE aktiviert werden,
indem einer der folgenden Werte in der Registrierung auf den hexadezimalen Wert
eines Steuerzeichens (z.B. "0x4" für STRG+D und "0x6" für STRG+F) für eine der
beiden Funktionen gesetzt wird:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar

und/oder

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar

Die benutzerspezifischen Einstellungen (HKEY_CURRENT_USER) haben gegenüber den
Einstellungen für den Computer (HKEY_LOCAL_MACHINE) Vorrang.
Befehlszeilenoptionen haben Vorrang gegenüber den Registrierungseinstellungen.

Wird die Namenergänzung mit der Option "/F:ON" aktiviert, werden die beiden
Steuerzeichen STRG+D für die Verzeichnisnamenergänzung und STRG+F für die
Dateinamenergänzung verwendet. Um eine der beiden Namenergänzungsfunktionen
in der Registrierung zu deaktivieren, verwenden Sie den Wert für ein
Leerzeichen (0x20), welches kein zulässiges Steuerzeichen darstellt.

Die Namenergänzung wird durch Eingabe eines der beiden Steuerzeichen
ausgeführt. Sie fügt an die Pfadangabe links des Cursors einen Platzhalter an,
wenn dieser nicht bereits vorhanden ist, und erzeugt eine Liste der Pfade, die
übereinstimmen. Anschließend wird der erste Pfad angezeigt. Wurde keine
Pfadübereinstimmung gefunden, ertönt lediglich ein Signalton. Durch wieder-
holte Eingabe des Steuerzeichens werden nacheinander die verschiedenen
Pfadeinträge der Liste angezeigt. Wird zusätzlich die Umschalttaste gedrückt,
werden diese in umgekehrter Reihenfolge angezeigt. Bearbeiten Sie die Zeile,
wird die Liste verworfen und eine neue erstellt. Dies geschieht auch, wenn Sie
zwischen den beiden Namenergänzungsfunktionen umschalten. Der einzige
Unterschied zwischen den beiden Funktionen ist, dass die Dateinamenergänzung
sowohl Dateien als auch Verzeichnisse, die Verzeichnisergänzung jedoch nur
Verzeichnisse auflistet. Wird die Namenergänzung zusammen mit einem der
Verzeichnisbefehle (CD, MD oder RD) verwendet, wird Verzeichnisergänzung
angenommen.

Die Namenergänzung funktioniert auch mit Namen, die Leerzeichen oder
Sonderzeichen enthalten, wenn der Name in doppelte Anführungszeichen
eingeschlossen wird. Wenn Sie den Cursor in einer Zeile nach links bewegen
und die Namenergänzung an dieser Stelle ausführen, wird der Teil der Zeile,
der sich rechts des Cursors befindet, ignoriert.

Die folgenden Sonderzeichen erfordern Anführungszeichen:
<Leerzeichen>
&()[]{}^=;!'+,`~
Wenn du es hinbekommen hast würd ich gern erfahren, wie du das gemacht hast!

Bye
Christian
  Mit Zitat antworten Zitat