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

我通常不是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 …

我的错误在哪里?

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

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

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

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