Rückgabewert einer EXE für Batch-Funktion
-
Hallo,
ich habe eine kleines Programm in C# geschrieben.
Dieses Programm (die EXE) wird über ein Batchfile aufgerufen.
Ist es möglich, innerhalb des Batchfiles, nach der Ausführung des EXE-Befehls, von der EXE einen Rückgabewert für die Weiterverarbeitung zu erhalten. Der Rückgabewert sollte 0 oder 1 sein.
-
Nein.
-
Meinst Du sowas?
using System; namespace Test { class Program { static void Main(string[] args) { Environment.ExitCode = 27; } } }
@ECHO OFF Test.exe ECHO %ERRORLEVEL%
Gibt 27 auf der Konsole aus.
-
Es geht auch einfach:
static int Main() { return 1; }
s.a. Main()-Rückgabewerte
Dort ist auch das Batch-Beispiel mit %ERRORLEVEL% angegeben
-
Harte Sache, ich dacht seit .NET hat sich das mit der int-Rückgabe erledigt.
Wieder eines neuen belehrt.
-
Super klappt wunderbar.
Habe mich jetzt für die Lösung von Th69 entschieden, da kürzer, danke.
Trotzdem auch ein Danke an theta...
-
So jetzt muss ich mich doch nochmal melden:
Das funktioniert alles ganz gut, nur das Problem ist, dass ich im batch für ERRORLEVEL immer eine 0 zurückbekomme, obwohl die EXE eine 1 liefert. Kann ich den Return-Wert der EXE nur mit dem ERRORLEVEL abfragen?
-
OK nein mein Fehler:
Das Problem liegt in dem Batch File.
Werde das aber in einem anderen Thread posten.
-
welcher thread ist das... ist auch für mich wichtig das thema... ich schreib grad an nem online backup system und hab ne kleine datei geschrieben die riesendateien in kleine häbchen durch das inet schiebt.
da wäre es wichtig wenn das prog meldet wenn es fertig ist mit dem häbchen. svchost hab ich keine lust zu fragen was er macht... selbst ist der mann^^
-
Das Ganze funktioniert, wie es hier beschrieben wurde. Wenn du ein anderes Problem hast, dann mach bitte einen neuen Thread auf.
Grüssli