执行.bat文件时,ExitCode始终为0

时间:2012-11-06 09:41:40

标签: c#

我通常不是C#人,所以我希望这不是一个愚蠢的问题......

我有一个.bat文件,看起来像这样(这当然是一个简化的例子):

档案nn.bat

exit /B 3

当我从命令运行它时,我看到%ERRORLEVEL%是3(很棒!!)

我有这个c#程序:

C#计划

class Program
{
    static void Main(string[] args)
    {
        Process p = new Process();

        p.StartInfo.FileName = @"nn.bat";

        p.Start();
        p.WaitForExit();

        int rc = p.ExitCode;

        Console.WriteLine(rc);
    }
}

我希望rc为3,但无论我尝试什么,它总是0 ...

我的错误在哪里?

1 个答案:

答案 0 :(得分:1)

最后,我找到了一个解决方法:

在我的批处理文件中,我使用exit /B 3而不是exit 3

这个想法(和解释)来自this回答

我仍然无法用/B选项解释它对其他人有用 - 我的猜测是它必须对他们的操作系统版本做些什么。