在终端完成某个命令后继续

本文关键字:命令 继续 终端 | 更新日期: 2023-09-27 18:12:18

我需要问一个在网上找不到的问题。我在c#应用程序中使用进程打开cmd ..我需要传递一些命令,但在每个命令之后,我需要确保这个命令完成,以便我可以继续其他命令!这怎么可能,系统诊断…这是我的代码,我尝试…

    var startInfo = new ProcessStartInfo
      {
          FileName = "cmd.exe",
          RedirectStandardInput = true,
          RedirectStandardOutput = true,
          UseShellExecute = false,
          CreateNoWindow = false,
          WorkingDirectory = @"E:/Visual Studio 2013/" + project_Name + "/packages/NUnit.ConsoleRunner.3.4.1/tools"
      };
      var process = new Process { StartInfo = startInfo };
      process.Start();
      process.StandardInput.WriteLine("nunit3-console.exe E:/Debug/Report_Testing.dll");

      process.WaitForExit();    

wait for exit在这里无限挂起,我无法传递这行代码。这个问题的解决方案是什么?

在终端完成某个命令后继续

尝试添加选项/c nunit3-console.exe E:/Debug/Report_Testing.dll

就像现在一样,它将运行cmd,并且命令执行后提示符仍然有效。

WaitForExit正在等待cmd完成,它永远不会完成。

我已经设法得到了解决方案:

我把它添加到我的writeline命令中,改成这样:

      process.StandardInput.WriteLine("nunit3-console.exe E:/Debug/Report_Testing.dll" + "&" +"exit");

//然后使用wait for exit

process.WaitForExit ();