为何无法检测到main()返回给操作系统的值呢?
以下代码,通过main()返回给操作系统一个值,我通过一个批处理文件,为何无法获取到呢?
using System;
namespace p28
{
    class Program
    {
        static int Main()
        {
            Console.WriteLine("下面程序将返回值给操作系统");
            //Console.ReadKey();
            return -2;
        }
    }
}
以下是批处理的内容:p28_2 就是上面的c#编译成的exe文件名@echo offp28_2
@if "%errorlevel%"="0" goto success
:fail
echo failed!
echo return value=%errorlevel%
goto end
:success
echo successed!
echo return value=%errorlevel%
goto end
:end
echo all done.
pause

解决方案 »

  1.   

    if %errorlevel%=01.%errorlevel%是系统环境变量,不可以加"号...2.%errorlevel%是整型值,不可以家"号...你需要先去了解一下DOS命令语法...
      

  2.   

    %errorlevel%默认就是0,而且检测顺序必须从高到低...去学DOS命令语法吧,你这样跟你说你也听不懂...
      

  3.   

    你可以在cmd窗品中,键入:
    echo %errorlevel%看看输出什么,就知道你自已对不对了。
      

  4.   

    这样写bat就可以
    p28_2 
    echo %errorLevel% 
      

  5.   

    我试过,好象加引号也行, 不加引号也行,"%errorlevel%"=="0"
    %errorlevel%==0
    二者是等效的。