C# 每行运行cmd行
我正在编写一个应用程序。我想从文本变量一步一步地运行这个过程,然后在文本框中显示它。 这是我的代码:C# 每行运行cmd行,c#,cmd,C#,Cmd,我正在编写一个应用程序。我想从文本变量一步一步地运行这个过程,然后在文本框中显示它。 这是我的代码: void RunCmd(string cmd){ StringCollection values = new StringCollection(); p = new System.Diagnostics.Process(); p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectS
void RunCmd(string cmd){
StringCollection values = new StringCollection();
p = new System.Diagnostics.Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = @"cmd";
p.StartInfo.Arguments= cmd;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.OutputDataReceived += (s, e) => {
lock (values) {
values.Add(e.Data);
}
};
p.BeginOutputReadLine();
foreach (string sline in values)
txtresult.AppendText(Environment.NewLine + sline);
}
void btnAction_Click(object sender, EventArgs e)
{
RunCmd("/c test.exe ABC && test.exe A5");
RunCmd("test.exe 22");
}
它不工作。Txtresult为空你所说的表单隐藏是什么意思??
start.CreateNoWindow=true
将隐藏您的应用程序…我的意思是mainform不显示。我看不到您的示例似乎不完整-例如,RunCmd声明为没有任何参数,但您正在传入字符串?我怀疑reader.ReadToEnd()正在阻塞-您是否尝试在该行上放置断点,并查看是否存在这种情况?结果是否包含任何内容?隐藏表单是什么意思??start.CreateNoWindow=true
将隐藏您的应用程序…我的意思是mainform不显示。我看不到您的示例似乎不完整-例如,RunCmd声明为没有任何参数,但您正在传入字符串?我怀疑reader.ReadToEnd()正在阻塞-您是否尝试在该行上放置断点,并查看是否存在这种情况?结果包含什么吗?