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

在命令行处理 console 应用执行的返回值。
 
新建一 Win32 Console 工程: CompareDirs
代码如下(VS2008 默认生成的代码):
 1 // CompareDirs.cpp : 定义控制台应用程序的入口点。  
 2 //  
 3   
 4 #include "stdafx.h"  
 5 #include "CompareDirs.h"  
 6   
 7 #ifdef _DEBUG  
 8 #define new DEBUG_NEW  
 9 #endif  
10   
11   
12 // 唯一的应用程序对象  
13   
14 CWinApp theApp;  
15   
16 using namespace std;  
17   
18 int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])  
19 {  
20     int nRetCode = 0;  
21   
22     // 初始化 MFC 并在失败时显示错误  
23     if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))  
24     {  
25         // TODO: 更改错误代码以符合您的需要  
26         _tprintf(_T("错误: MFC 初始化失败\n"));  
27         nRetCode = 1;  
28     }  
29     else  
30     {  
31         // TODO: 在此处为应用程序的行为编写代码。  
32     }  
33   
34     return nRetCode;  
35 }  
要从命令行处理 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  

 

posted @ 2016-02-21 15:40  91program  阅读(791)  评论(0编辑  收藏  举报