vb.Net c#运行批处理文件并输出其输出
问题描述:
我在VB.NET中有这个问题在c#中,我有这个项目,我需要运行一个批处理文件,这很容易。但我的问题是我需要显示的一切,显示了该批处理文件,在cmd窗口,在文本框,现在,该代码打开文件没有问题:vb.Net c#运行批处理文件并输出其输出
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents = false
proc.StartInfo.FileName = "C:\\Users\\jwoow\\Desktop\\Server\\run.bat";
proc.Start().ToString();
,但它不动码到文本框,该代码传输最后显示的路线,而不是批处理文件的整个事情,它也关闭cmd窗口,我需要它保持开放:
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "C:\\Users/jwoow/Desktop/Server/run.bat";
//this line hides cmd window
//p.StartInfo.CreateNoWindow = true;
p.Start();
StreamReader output = p.StandardOutput;
while (output.EndOfStream == false)
{
string line = output.ReadLine();
this.RunResults.Text = line;
}
Ø是啊,批文件用于服务器,它显示用户的数量(更新2分钟)并显示用户采取的不同事件。所以它不断更新。
答
使用“暂停”命令来保持执行后窗口打开。输出到屏幕的文本将会因您使用的每个程序而不同。大多数程序允许您根据您提供的参数显示不同的输出。
答
把它放在一个类中并调用代码。最后一步有一个定时器,它会调用两分钟的暂停时间,然后在2分钟的延迟结束时将其循环回到开始处。