Ich versuche, ein Befehlszeilenprogramm mit Parametern aus C# auszuführen. Ich hätte mir gedacht, dass es in C# trivial wäre, dies zu tun und dies möglich zu machen, aber es stellte sich herausfordernd heraus, selbst mit all den Ressourcen, die auf dieser Seite und darüber hinaus verfügbar waren. Ich bin ratlos, also werde ich so viel Details wie möglich zur Verfügung stellen.Ausführen der Befehlszeile .exe mit Parametern in C#
Mein aktueller Ansatz und Code ist unten und im Debugger hat der Variablenbefehl den folgenden Wert.
Das Problem kann sein, wie ich rufe und formatiere die Zeichenfolge, die ich in diesem Variablenbefehl verwende.
Irgendwelche Gedanken zu was könnte das Problem sein?
ProcessStartInfo procStartInfo = new ProcessStartInfo("cmd", "/c " + command);
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;
Process process = new Process();
process.StartInfo = procStartInfo;
process.Start();
string result = process.StandardOutput.ReadToEnd();
Console.WriteLine(result);
Ich bekomme keine Informationen oder Fehler in der Variablen Ergebnis, sobald es abgeschlossen ist.
haben Sie versucht, diesen Befehl in einer Befehlszeile? Vielleicht müssen Sie die Zeichenfolge 'command' in Anführungszeichen setzen. Welchen Fehler bekommst du eigentlich? –
Ich kann den genauen Befehl in der Befehlszeile erfolgreich ausführen. Vielleicht unterscheiden sich diese Schritte geringfügig, weil ich das Verzeichnis auf C: \ Folder1 \ Interfaces \ Folder2 \ Common \ JREbin \ setze und dann keytool.exe -import -noprompt -trustcacerts -alias myserver.us.goodstuff.world -file C: \ ausführen SSL_CERT.cer -storepass changeit -keystore keystore.jks Ich bekomme keinen Fehler, wenn das ausgeführt wird, die Konsolenzeichenfolge ist leider leer. –