我有一个执行两个 cmd 命令的程序。我使用的代码是:
Process proc = new Process();
proc.StartInfo.WorkingDirectory = @"C:\OpenSSL-Win64\bin";
proc.StartInfo.FileName = "CMD";
proc.StartInfo.Arguments = "/C openssl genrsa -out ProtTest.key 2048 & openssl req -new -sha256 -key ProtTest.key -out ProtTest.csr"; //if no arguments comment this line
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.Start();
代码工作正常,但是当执行第二个命令时,cmd窗口就位于等待用户写入一些值,如电子邮件地址城市等等。
我的问题是如何将这些参数传输到cmd窗口?
答案 0 :(得分:1)
我认为您正在寻找的是:
proc.StandardInput.WriteLine(textbox1.Text);
proc.StandardInput.WriteLine(textbox2.Text);
这使您可以输入数据,就像在命令窗口中独立运行应用程序一样。