c#调用cmd窗口执行多条命令时为何cmd不显示?

2025-01-31 17:13:02
推荐回答(3个)
回答1:

同学你好!

    你的问题在于:你漏了关键一句:

process.StandardInput.Close();

这样导致流一直处于等待输入完毕状态,所以,cmd窗口没有数据显示。

我改下ping后,效果图如下:

回答2:

因为你重定向了输入输出,所以cmd窗口不能显示出执行结果。

如果想在cmd窗口显示
process.StartInfo.UseShellExecute = true;
process.StartInfo.RedirectStandardInput = false;
process.StartInfo.RedirectStandardOutput = false;

然后以下面的方式传参数
process.StartInfo.Arguments = "/k command" 单个命令


process.StartInfo.Arguments = "/k command.bat" bat中可以写多个命令

启动
process.start();

搞定

回答3:

process.StandardInput.WriteLine("ping 192.168.1.1\n");
改成这个试试