c# - 如何从批处理文件中获取实时输出? [重复]

问题描述 投票:-1回答:1

我试图从批处理文件中获取输出,但是当我成功从循环中获取输出并放入富文本框时,Form应用程序冻结,所以问题如何从批处理文件中获取实时输出(恰好是一个java应用程序)控制台模式(Minecraft服务器))没有冻结应用程序?

c# winforms
1个回答
0
投票
List<String> output = new List<String>();

ProcessStartInfo psi = new ProcessStartInfo("cmd.exe", @"/C C:\mycommand.bat");
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;

Process process = new Process();
process.StartInfo = psi;
process.OutputDataReceived += (sender, evt) => output.Add(evt.Data);
process.Start();
process.BeginOutputReadLine();
process.WaitForExit();

一旦批处理文件被执行,列表将包含其输出,您可以对其进行后处理并将其插入到RichTextBox中。

© www.soinside.com 2019 - 2024. All rights reserved.