C# 在控制台应用程序的管道输入中处理非零退出代码
我有一个用c语言编写的控制台应用程序,它从C# 在控制台应用程序的管道输入中处理非零退出代码,c#,.net,console-application,stdin,C#,.net,Console Application,Stdin,我有一个用c语言编写的控制台应用程序,它从控制台中读取字符。在中,解析字符并将结果输出到控制台.Out。它可以正常工作,除非输入是从另一个控制台命令导入的,并且该命令以非0的代码退出。在这种情况下,退出代码始终为0 例如,使用TestCommand.cmd脚本: @echo off echo Plain text exit /b 1 运行此脚本将提供以下输出: >TestCommand.cmd Plain text >echo %ERRORLEVEL% 1 如果我将输出传输到
控制台中读取字符。在中,解析字符并将结果输出到控制台.Out
。它可以正常工作,除非输入是从另一个控制台命令导入的,并且该命令以非0
的代码退出。在这种情况下,退出代码始终为0
例如,使用TestCommand.cmd脚本:
@echo off
echo Plain text
exit /b 1
运行此脚本将提供以下输出:
>TestCommand.cmd
Plain text
>echo %ERRORLEVEL%
1
如果我将输出传输到我的控制台应用程序,我会得到一个退出代码0
>TestCommand.cmd | MyConsoleApp.exe
Plain text
>echo %ERRORLEVEL%
0
是否可以从.Net中的“上游”输入中确定退出代码,并使用相同的代码退出我的应用程序
即使只是确定它带着代码退出也是可以接受的!=0
最好是.NET2 %ERRORLEVEL%
给出的是当前命令/脚本的退出状态,而不是上一个。这很有意义,我想做的是从输入流中确定退出代码,并以类似的方式退出我的应用程序。同时检查%ERRORLEVEL%
是否给出了当前命令/脚本的退出状态,而不是前一个。这很有意义,我想做的是从输入流中确定退出代码,并以类似的方式退出我的应用程序