Rückgabewert aus einer exe

28/09/2007 - 23:13 von Stefan Gutschalk | Report spam
Hallo NG,

ich eine exe geschrieben, welche über eine Batch aufgerufen wird. In der Exe
wird ein Befehl ausgeführt und auwertet. Aus dem Ergebnis der Auswertung
wird einExitcode generiert und ein String als Beschreibung.
Der Exitcode und der String sollen an die Batch übergeben werden. Den
Exitcode habe ich hinbekommen den Textstring aber nicht.

Hat jemand vielleicht eine Idee?

Vielen Dank im Voraus
Gruß Stefan
 

Lesen sie die antworten

#1 Alexander Mueller
29/09/2007 - 14:44 | Warnen spam
Stefan Gutschalk schrieb:
Hallo NG,

ich eine exe geschrieben, welche über eine Batch aufgerufen wird. In der Exe
wird ein Befehl ausgeführt und auwertet. Aus dem Ergebnis der Auswertung
wird einExitcode generiert und ein String als Beschreibung.
Der Exitcode und der String sollen an die Batch übergeben werden. Den
Exitcode habe ich hinbekommen den Textstring aber nicht.



Unelegant, aber q+d, mit Tempfile:

schreib zb aus der VB in die Datei
%TEMP%etstring.dat folgende Zeile:

RETSTRING=Hallo habe fertig

dann kannst Du es in der Batchdatei so auswerten:

@echo off
for /F "tokens=2 delims==" %%A in (%temp%\test.dat) do set ret=%%A
echo %ret%


'echo %ret%' gibt dann 'Hallo habe fertig' aus.
Lösung mit Environmentstrings wàren tricky weil, die Prozesse immer
mit Kopien der Elternprozess-Variblen arbeiten, aber Änderungen nicht
zurückgeben.
Ansonsten gàb's noch Pipes und COM; wàre aber beides auch aufwendig.
Pipe, weil nach Stdout schreiben in VB nur über viel API geht und COM
von cmd.exe nicht direkt unterstützt wird (von Powershell schon ;-) )


MfG,
Alex

Ähnliche fragen