处理nmake errorlevel / return代码

时间:2008-11-25 02:18:12

标签: windows batch-file cmd nmake errorlevel

我有一个基于nmake的项目,它反过来调用asp编译器,它可以抛出一个错误,nmake似乎认识到了:

NMAKE : fatal error U1077: 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe' : return code '0x1'

但是,当我从批处理文件中调用nmake时,环境变量%ERRORLEVEL%仍然设置为零:

nmake /NOLOGO
echo BUILD RETURNING: %ERRORLEVEL%  

如果我控制了nmake任务,我最终得到一个非零的ERRORLEVEL(它被设置为2)所以我的假设是我能够正常捕获错误,但是nmake并没有冒泡从它的任务非零退出代码。或者,至少,我错误地捕捉它。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

首先,请发布您的批处理文件,以便我们了解您如何捕获错误 同时评论这篇文章,以便我再读一遍。
作为第一个git,我猜是这样的:

nmakebatch.cmd 通常的nmake参数,没有/ NOLOGO

@echo off
rem Args[x]: nmake arguments
echo.>> %~n0.log
echo %date% %time%>> %~n0.log
echo nmake /NOLOGO %*>> %~n0.log
nmake /NOLOGO %*
echo %errorlevel%>> %~n0.log

是在构建时将所有情况陷入增量日志的开始。

答案 1 :(得分:0)

您应该在批处理脚本中使用exit /b %errorlevel%,这会将返回代码传递回nmake

相关问题