2012-04-02 101 views
2

我在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分钟)并显示用户采取的不同事件。所以它不断更新。

回答

0

使用“暂停”命令来保持执行后窗口打开。输出到屏幕的文本将会因您使用的每个程序而不同。大多数程序允许您根据您提供的参数显示不同的输出。

0

把它放在一个类中并调用代码。最后一步有一个定时器,它会调用两分钟的暂停时间,然后在2分钟的延迟结束时将其循环回到开始处。

相关问题