3

私は通常C#の人ではないので、愚かな質問ではないことを願っています...

次のようなファイルがあり.batます (これはもちろん単純化された例です)。

ファイルnn.bat

exit /B 3

コマンドから実行すると、それが 3 であることがわかります%ERRORLEVEL%(素晴らしい!!)

私はこの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);
    }
}

3を期待rcしているのですが、何を試しても常に 0 です...

私の間違いはどこですか?

4

1 に答える 1

1

最後に、回避策を見つけました:

exit /B 3私のバッチファイルでは、使用する代わりにexit 3.

アイデア(および説明)はこの回答から来ました

オプションを使用して他の人がどのように機能したかはまだ説明できません/B-私の推測では、オペレーティングシステムのバージョンで何かを行う必要があると思います.

于 2012-11-06T12:32:33.127 に答える