我试图在C#中使用参数来执行命令行程序。我本以为在C#中实现这个目标会很简单,但是即使在这个网站和其他资源的帮助下,它也变得具有挑战性。我感到很困惑,因此我将提供尽可能多的细节。
我目前的方法和代码如下,在调试器中,变量command具有以下值:
command = "C:\\Folder1\\Interfaces\\Folder2\\Common\\JREbin\\keytool.exe -import -noprompt -trustcacerts -alias myserver.us.goodstuff.world -file C:\\SSL_CERT.cer -storepass changeit -keystore keystore.jks"
问题可能在于我调用并格式化变量命令中使用的字符串方式。
对此有何想法?
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);
我完成后,在变量 result 中没有返回任何信息或错误。