3

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

我的错误在哪里?

4

1 回答 1

1

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

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

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

我仍然无法解释它是如何使用该/B选项对其他人起作用的——我的猜测是它必须与他们的操作系统版本有关。

于 2012-11-06T12:32:33.127 回答