In meinem C# Code ausgeführt habe ichErstellen cmd Prozess, java
processInfo = new ProcessStartInfo("do.cmd");
processInfo.CreateNoWindow = false;
processInfo.UseShellExecute = false;
und in meinem do.cmd Ich habe
@echo off
set CONFIG_FILE=./some.properties
set DEFCONFIG_FILE=./more.properties
set EDA_ARGS=-config %CONFIG_FILE% -defaultconfig %DEFCONFIG_FILE%
set JAVA_ARGS=-Xmx256M
set BOOTCLASSPATH=../lib/1.jar;../lib/2.jar;../lib/3.jar;../4.jar;../5.jar
:run_erp
java -Xbootclasspath/p:%BOOTCLASSPATH% %JAVA_ARGS% -jar ../lib/RUNME.jar %EDA_ARGS%
goto end
:end
Ich erhalte eine Fehlermeldung nicht in der Lage RUNME.jar zu finden, Wenn ich jedoch die Datei "do.cmd" manuell in einer Eingabeaufforderung ausfühle, funktioniert es einwandfrei. Aber wenn ich einen Prozess in C# erstellen und ausführen, erhalte ich den obigen Fehler.
Also meine Frage ist, wie kann ich ein Cmd in C# ausführen, um es in einem Cmd-Prompt auszuführen?
Haben Sie versucht, das 'WorkingDirectory' zu setzen? –
Was bedeutet ../lib/, wenn Sie von C# aus arbeiten? Es macht Annahmen über das aktuelle Verzeichnis, das sich wahrscheinlich von dem unterscheidet, das Sie beim Ausführen von do.cmd haben. –
@KirkWoll ja, aber ich bekomme das gleiche Problem. – conterio