在命令行处理 console 应用执行的返回值。

在命令行处理 console 应用执行的返回值。

新建一 Win32 Console 工程: CompareDirs
代码如下(VS2008 默认生成的代码):
// CompareDirs.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "CompareDirs.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// 唯一的应用程序对象

CWinApp theApp;

using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
	int nRetCode = 0;

	// 初始化 MFC 并在失败时显示错误
	if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
	{
		// TODO: 更改错误代码以符合您的需要
		_tprintf(_T("错误: MFC 初始化失败\n"));
		nRetCode = 1;
	}
	else
	{
		// TODO: 在此处为应用程序的行为编写代码。
	}

	return nRetCode;
}



要从命令行处理 CompareDirs.exe 的返回值。
在网上查找了一下,有处理不正确的、也有处理 LOG 而不是返回值的。
修改 CompareDirs.exe 的不同返回值,来验证批处理程序执行的输出。

@echo off
CompareDirs
@if "%ERRORLEVEL%" == "0" goto good

:fail
    echo (Execution Failed)
    echo (return value = %ERRORLEVEL%)
    goto end

:good
    echo (Execution succeeded)
    echo (Return value = %ERRORLEVEL%)
    goto end

:end

pause


你可能感兴趣的:(在命令行处理 console 应用执行的返回值。)