从批处理文件接收输出并输入
本文关键字:输入 输出 批处理文件 | 更新日期: 2023-09-27 18:02:30
我目前正在c#中创建一个应用程序,允许您创建服务器并轻松管理它,为此它使用批处理文件来运行所述服务器。它通过创建批处理文件并使用这些文件运行服务器来工作。(顺便说一下Java)。
所以,我想知道的是,如果有可能从控制台获取输出,而不是像下面的代码那样将其转储到文本框中并关闭控制台,我需要它不断地从控制台发布任何输出,而不关闭也不滥发控制台打开的负载(尝试使用计时器)。
Process myProcess = new Process();
ProcessStartInfo myProcessStartInfo =
new ProcessStartInfo(batchfilelocation);
myProcessStartInfo.UseShellExecute = false;
myProcessStartInfo.RedirectStandardOutput = true;
myProcess.StartInfo = myProcessStartInfo;
myProcess.Start();
StreamReader myStreamReader = myProcess.StandardOutput;
// Read the standard output of the spawned process.
string myString = myStreamReader.ReadToEnd();
textBox1.Text = textBox1.Text + myString;
myProcess.Close();
我也想知道是否有可能允许从windows窗体控件输入,例如通过在控制台中输入命令并按enter键来执行命令的按钮。或者一个文本框,它允许你做同样的事情。
谢谢!
你不需要一个TextBox控件来存储字符串。请使用字符串变量。
string concatenatedString = null;
concatenatedString += myStreamReader.ReadToEnd();
其次,您可以在不创建控制台窗口的情况下完成此操作。下面的代码将允许您的程序运行,而不会看到大量的控制台窗口弹出。
myProcessStartInfo.CreateNoWindow = true;