我从我的C#应用程序中执行一个命令。
它运行得很好,但有时我会出错。
我的问题是,我看不到命令窗口中的错误或任何其他文本。
只是空白而已。
有什么方法可以使文本显示在执行时间与这里出现的相同吗?
这是我的代码:
var processInfo = new ProcessStartInfo("cmd.exe", "/c " + command);
//processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
processInfo.RedirectStandardError = true;
processInfo.RedirectStandardOutput = true;
processInfo.WorkingDirectory = workingFolder;
var process = Process.Start(processInfo);
process.OutputDataReceived += (object sender, DataReceivedEventArgs e) =>
Console.WriteLine("output>>" + e.Data);//MessageBox.Show(e.Data);
process.BeginOutputReadLine();
process.ErrorDataReceived += (object sender, DataReceivedEventArgs e) =>
Console.WriteLine("error>>" + e.Data);//MessageBox.Show(e.Data);
process.BeginErrorReadLine();
process.WaitForExit();
Console.WriteLine("ExitCode: {0}", process.ExitCode);
process.Close();
发布于 2020-06-30 21:21:28
我不是这方面的专家,但我认为您可以在try-catch
块中编写这段代码,并使用Console.WriteLine()
命令在屏幕上显示异常消息。
发布于 2020-06-30 22:17:46
在第一个屏幕截图中,Select
位于cmd
窗口的标题栏中。
你知道这个程序被暂停的事实吗?
如果您在窗口中单击并可以通过按下Select
(如果我没有记错的话)继续操作,则会发生Enter
。
如果您使用Console.WriteLine()
,并且没有暂停cmd
窗口,那么您应该可以看到您曾经写过什么。
https://stackoverflow.com/questions/62670162
复制