C#,如何在没有弹出控制台窗口的情况下运行.bat文件

时间:2013-08-02 18:15:13

标签: c# batch-file

我正在尝试在没有弹出控制台窗口的情况下运行.bat文件。

我正在使用此代码:

Process p = new Process();

p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "file.bat";
p.Start();

string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();

使用此代码,程序会弹出控制台窗口一秒钟并消失。如何获得它永远不会显示?

4 个答案:

答案 0 :(得分:12)

只需添加

p.StartInfo.CreateNoWindow=true;

控制台窗口弹出窗口不会出现

答案 1 :(得分:6)

p.StartInfo.CreateNoWindow = true;

答案 2 :(得分:5)

另一种选择是

p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden

要使用ProcessWindowStyle.Hidden,ProcessStartInfo.UseShellExecute属性必须为false,但看起来您正在使用该设置,因此您应该很好。

答案 3 :(得分:4)

CreateNoWindow选项必须设置为true

p.StartInfo.CreateNoWindow = true;