我通常不是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 ...
我的错误在哪里?
答案 0 :(得分:1)
最后,我找到了一个解决方法:
在我的批处理文件中,我使用exit /B 3
而不是exit 3
。
这个想法(和解释)来自this回答
我仍然无法用/B
选项解释它对其他人有用 - 我的猜测是它必须对他们的操作系统版本做些什么。