vb.Net c # запускает пакетный файл и выводит его поток - PullRequest
2 голосов
/ 02 апреля 2012

У меня есть эта проблема в VB.NET в C #, у меня есть этот проект, где мне нужно запустить командный файл, который достаточно прост.Но моя проблема в том, что мне нужно отобразить все, что отображается в командном файле, в окне cmd, в текстовом поле, теперь этот код открывает файл без проблем:

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;
}

oда, пакетный файл предназначен для сервера, он отображает количество пользователей на нем (обновляется каждые 2 минуты) и показывает различные события, предпринятые пользователями.поэтому он постоянно обновляется.

Ответы [ 2 ]

0 голосов
/ 02 апреля 2012

Поместите это в класс и назовите код. У последнего шага должен быть таймер, который вызывает паузу на две минуты, а затем он возвращается к началу в конце двухминутной задержки.

0 голосов
/ 02 апреля 2012

Используйте команду «Пауза», чтобы оставить окно открытым после выполнения. Текст, который выводится на экран, будет отличаться для каждой используемой программы. Большинство программ позволяют отображать различный вывод в зависимости от заданного вами параметра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...