当莪执行一个命令行语句的时候、需要获取输出、可以使用“cmd.StandardOutput.ReadToEnd()”语句、
但如果输入的命令需要迩作用相应才能执行下一步时、使用“cmd.StandardOutput.ReadToEnd()”便不能获得命令行的输出了、
程序会像死机一样一直停在那里、需要怎样才能获取输出呢补充一下、如果使用以下语句执行命令行指令、命令行程序要求用户输入特定字母以使程序继续执行、应该怎样操作才能继续
呢、莪这里的实际问题是执行svn merge发生冲突时所要做出的选择private void run_dos(string dos_cmd)
{
cmd.StartInfo.FileName = @"cmd.exe";
//当cmd命令一执行完毕、马上就关闭窗体
cmd.StartInfo.Arguments = @"/c" + dos_cmd; //禁用CMD界面用户输入、只能由参数输入
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.RedirectStandardError = true;
//不显示CMD界面
cmd.StartInfo.CreateNoWindow = true; cmd.Start();
}
但如果输入的命令需要迩作用相应才能执行下一步时、使用“cmd.StandardOutput.ReadToEnd()”便不能获得命令行的输出了、
程序会像死机一样一直停在那里、需要怎样才能获取输出呢补充一下、如果使用以下语句执行命令行指令、命令行程序要求用户输入特定字母以使程序继续执行、应该怎样操作才能继续
呢、莪这里的实际问题是执行svn merge发生冲突时所要做出的选择private void run_dos(string dos_cmd)
{
cmd.StartInfo.FileName = @"cmd.exe";
//当cmd命令一执行完毕、马上就关闭窗体
cmd.StartInfo.Arguments = @"/c" + dos_cmd; //禁用CMD界面用户输入、只能由参数输入
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.RedirectStandardError = true;
//不显示CMD界面
cmd.StartInfo.CreateNoWindow = true; cmd.Start();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货