Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在控制台应用程序的管道输入中处理非零退出代码_C#_.net_Console Application_Stdin - Fatal编程技术网

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 如果我将输出传输到

我有一个用c语言编写的控制台应用程序,它从
控制台中读取字符。在
中,解析字符并将结果输出到
控制台.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%
是否给出了当前命令/脚本的退出状态,而不是前一个。这很有意义,我想做的是从输入流中确定退出代码,并以类似的方式退出我的应用程序